[php] open_basedir 제한이 적용됩니다. 파일 (/)이 허용 된 경로 내에 없습니다 :

내 사이트에 아바타를 업로드 할 때이 오류가 발생합니다. 나는 전에 그것을 얻은 적이 없으며 최근 에이 오류가 발생하기 시작하도록 변경된 것이 없습니다 …

Warning: is_writable() [function.is-writable]:
open_basedir restriction in effect.
File(/) is not within the allowed path(s):



답변

PHP 구성에서 open_basedir설정 을 수정합니다 ( 런타임 구성 참조 ).

open_basedir설정은 주로 특정 사용자의 PHP 스크립트가 다른 사용자 계정의 파일에 액세스하지 못하도록 방지하는 데 사용됩니다. 따라서 일반적으로 자신의 계정에있는 모든 파일은 자신의 스크립트로 읽을 수 있어야합니다.

.htaccessPHP가 Linux 시스템에서 Apache 모듈로 실행되는 경우 를 통한 예제 설정 :

<DirectoryMatch "/home/sites/site81/">
    php_admin_value open_basedir "/home/sites/site81/:/tmp/:/"
</DirectoryMatch>


답변

호스팅 계정에서 open_basedir 설정을 수정하고 none으로 설정하십시오. Plesk / cPanel의 ‘PHP 설정’영역에서 제공된 open_basedir 설정을 찾으십시오. 거기에 주어진 드롭 다운에서 ‘없음’으로 설정하십시오. 나는 그들을 Plesk 패널 사진에서 보여 주었다.

여기에 이미지 설명 입력
여기에 이미지 설명 입력


답변

이 오류를 해결하려면 httpd.conf 파일을 편집해야합니다. apache2handler 섹션 지시자 서버 루트의 phpinfo에서 볼 수 있기 전에. 예를 들어, 제 경우에는 이런 식으로-/ etc / httpd / httpd.conf. httpd.conf 파일을 열고 open_basedir 매개 변수에 대한 언급을 찾으십시오. 그리고 없음으로 설정하십시오. ( php_admin_value open_basedir 없음 )


답변

경우에 당신은 이것을 실행하고 있습니다 php file.php. php.ini
다음 파일 찾기 를 편집해야 합니다.

: locate php.ini
/etc/php/php.ini

open_basedir속성에 파일의 경로를 추가합니다 .

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/run/media/andrew/ext4/protected


답변

나에게 문제는 전체를 실행하는 Plesk 서버의 구성 값이 잘못되었거나 누락되었습니다. 나는 단지 여기의 지시를 따랐다 :
http://davidseah.com/blog/2007/04/separate-php-error-logs-for-multiple-domains-with-plesk/

각 VirtualHost 정의에 대해 별도의 오류 로그 파일을 갖도록 PHP를 구성 할 수 있습니다. 트릭은 Plesk를 깨지 않고는 구성을 직접 만질 수 없기 때문에 설정 방법을 정확히 아는 것입니다. (dv)의 모든 도메인 이름은 / var / www / vhosts에 자체 디렉토리가 있습니다. 일반적인 디렉토리에는 다음과 같은 최상위 디렉토리가 있습니다.

cgi-bin/
conf/
error_docs/
httpdocs/
httpsdocs/
...and so on

다음 줄을 사용하여 도메인 디렉터리의 conf / 폴더에 vhost.conf 파일을 만들 수 있습니다.

php_value error_log /path/to/error_log
php_flag display_errors off
php_value error_reporting 6143
php_flag log_errors on

실제 설치와 일치하도록 첫 번째 값을 변경하십시오 (/tmp/phperrors.log 사용). vhost.conf 파일 편집을 완료 한 후 다음을 사용하여 콘솔에서 구성을 테스트합니다.

apachectl configtest
…or if you don’t have apachectl (as Plesk 8.6 doesn’t seem to)…

/etc/init.d/httpd configtest

그리고 마지막으로 Plesk에게이 변경 사항을 적용했다고 말하십시오.

/usr/local/psa/admin/bin/websrvmng -a


답변

참조하는 경로는 작업 공간의 directoryRoot가 아니라 incorect입니다. 액세스하려는 파일의 절대 경로를 만들어보십시오. 이제 상대 경로를 사용하고있을 것입니다.


답변

ispconfig3에 이런 종류의 문제가 있고 이와 같은 오류가 발생하면

open_basedir 제한이 적용됩니다. 파일 (/ var / www / clients / client7 / web15)이 허용 된 경로 내에 없습니다 : ………

그것을 해결하려면 (제 경우) ispconfig3의 웹 사이트 패널에서 PHP를 SuPHP로 설정하십시오.

누군가에게 도움이되기를 바랍니다 🙂