편집 : 이 아니요 복제본 open_basedir restriction in effect. File(/) is not within the allowed path(s):입니다. 이 문제는 PHP 설정과는 아무런 관련이 없습니다. 동일한 웹 사이트 구조와 동일한 PHP 설정으로 여러 웹 사이트가 작동하기 때문입니다. 이 질문의 마지막 네 단락에서 설명했듯이 전체 질문을 복제본으로 표시하기 전에 읽으십시오. 또한 다른 질문에 대한 답변은 Apache에 맞춰져 있지만 CPgin이나 httpd.conf는 사용하지 않는 Nginx를 사용하고 있습니다.경고 : is_dir() : open_basedir 제한 사항이 적용됩니다. 파일 (/)이 허용 된 경로 내에 있지 않습니다.
수동으로 Wordpress 사이트를 새 서버로 옮겼습니다.
Warning: is_dir(): open_basedir restriction in effect. File(/) is not
within the allowed path(s):
(/var/hpwsites/u_bcsautoborg:/usr/share/pear/) in
/var/hpwsites/u_bcsautoborg/website/html/webroot/wp-includes/functions.php on
line 1585
는 내가 전에 사이트와 유사한 오류가 있었다, 그러나 그것은
upload
폴더가 워드 프레스 설정에서 올바르게 연결되지 인해이었다 마지막 하나, 나는이 오류를 받고 있어요. 따라서 오류는 다른 줄 번호를 나타냅니다.
while ('.' != $target_parent && ! is_dir($target_parent)) {
및 큰 블록의 일부이다 :
라인 1,585은
/*
* Safe mode fails with a trailing slash under certain PHP versions.
* Use rtrim() instead of untrailingslashit to avoid formatting.php dependency.
*/
$target = rtrim($target, '/');
if (empty($target))
$target = '/';
if (file_exists($target))
return @is_dir($target);
// We need to find the permissions of the parent folder that exists
and inherit that.
$target_parent = dirname($target);
while ('.' != $target_parent && ! is_dir($target_parent)) {
$target_parent = dirname($target_parent);
}
이것은 워드 프레스 기능 파일이다. 코드를 살펴보면, 문제는 $target_parent
으로 가정 할 수 있습니다. 그러나 나는 PHP가별로 좋지 않기 때문에 그게 무엇을 의미하는지 알지 못합니다.
이제 open_basedir restriction
오류가 있다는 것을 알고 있습니다. 일반적으로 PHP.ini 파일에 잘못된 보안 설정이있어서 PHP 기능이 필수 폴더에 액세스 할 수 없습니다. 그러나, 나는 그것이 여기의 경우가 아니라고 확신한다.
이것은 다른 모든 사이트와 동일한 구조로 제작 된 작동 웹 사이트입니다. 모두가 아파치 서버에서 호스팅되었고, 나는 Nginx 서버로 이동하고 있으며, 모두 자신의 MySQL 데이터베이스와 함께 자신의 디렉토리를 가지고 있으며, 모든 디렉토리는 웹 사이트 특정 폴더 당연하지). 다른 모든 웹 사이트는 이것과 같은 설정에서 완벽하게 작동합니다. 그리고 나는 php.ini와 같은이 문제를 상상할 수 없습니다.
이전의 경우 'uploads'폴더에서 문제가 발생 했더라도 wp-admin으로 들어가서 Wordpress 설정을 통해 업로드 폴더 위치를 변경할 수있었습니다. 그러나, 나는 무한대로 중복되는 위의 오류만을 얻으므로 현재 어떤 페이지로도 들어갈 수 없습니다.
PHPmyAdmin을 통해 모든 플러그인을 사용할 수 없게했지만 아무 소용이 없습니다. 분명히, 나는 SO, WordPress 포럼, Google 및 DuckDuckGo에 대한 해결책을 모색했습니다. 나는 많은 비슷한 문제를 발견했지만, 내가 찾은 해결책 중 어느 것도 나를 위해 일하지 못했다.
아무도 원인을 알 수없는 사람이 있습니까?
$ target의 출처를 모르지만 허용 된 파일의 경로를 나타내는 문자열 대신 비어 있거나 '/'와 같은 것으로 보입니다. 전체 소스 코드 없이는 말할 수 없지만 여기에 Wordpress 소스를 게시 할 수 없다는 것을 이해합니다 :) – Derek
'$ target'은 어디에서 오는 것입니까? 앱에 루트 디렉토리에 대한 액세스 권한을 부여하지 않으려면 오류가 발생하는 것입니다. – Jonathan
https://github.com/WordPress/WordPress/blob/master/wp-includes/functions.php에서 소스를 찾았지만 무슨 일이 일어나고 있는지 알기 위해 백 트레이스가 필요합니다 ... – Derek