방금 사이트로드가 새 VPS로 이동했으며 include_path와 함께 이상한 문제 이 있습니다. 이전 서버에서는 제대로 작동했지만 새로운 서버에서는 작동하지 않습니다. include_path 동작이 예상대로 작동하지 않습니다.
나는 시도하고 간단한 예제를 사용하여 설명 할 것이다
.../home/kin/www/lib/Zend
에서
도 /home/kin/www/ipb/_membadmin/Zend
에가있는 폴더에있는 단순히 에코 test1.php
라는 파일이있다. /home/kin/www/ipb/_membadmin
에서
라는 파일이있다 test.php
그것에는 당신이하는 것처럼 한 줄 ....
require_once 'Zend/test1.php';
당신이 그것을 실행, 그런 다음 다른 뭔가 /home/kin/www/ipb/_membadmin/Zend
의 이름을 변경하는 경우가 /home/kin/www/ipb/_membadmin/Zend
에서 test1.php
에서 라인을 메아리, 기대가 (내 생각)한다 (그래서 문이 그것을 찾을 수 없습니다 '포함'), 다시 test.php
을 실행 php include_path 에 /home/kin/public_html/lib
(이 경우 phpinfo.php
이 확인 됨)이 포함되어 있기 때문에 파일을 /home/kin/www/lib/Zend
에 표시하십시오. ...하지만 그렇지 않습니다.
왜 안 되니? 다음 /home/kin/public_html/lib
의 포함 경로가있을 경우 반드시
require_once 'Zend/test1.php';
는 /home/kin/www/lib/Zend
를 가리켜 야합니다. 그것은 오래된 서버에서 않습니다!
나는 명백한 것을 놓치고 있어야하지만 나는 무엇을 모르는가!
의견이 있으십니까? 감사합니다.
두 경우 모두'get_include_path()'의 내용을 알려주시겠습니까? – hanzo2001
흥미 롭습니다. 새 서버에서 get_include_path()를 실행하면 – sclg
흥미 롭습니다. 새로운 서버에서 get_include_path()를 실행하면 이 생깁니다 :/usr/lib/php :/usr/local/lib/php :/home/public_html/lib 그러나 같은 위치에서 phpinfo를 실행하면,/usr/local/lib/php :/home/kin/public_html/lib 이전 서버에서 get_include_path 및 phpinfo report/home/lib는 모두 인 include_path를보고합니다. kin/public_html/lib 그래서 새 서버에 '친족'이 빠져있는 이유는 무엇입니까 ?? – sclg