2017-05-15 14 views
0

나는 작곡가와 함께 라이브러리를 포함하려고합니다. 이렇게하려면 벤더/autoload.php를 요구해야합니다.외부 디렉토리 필요 PHP :

require '/vendor/autoload.php'; 

이 파일 디렉토리는 웹 루트 외부에 있으므로이 방법을 사용하고 싶습니다. 그래서 내가이 비트의 코드를 시험해 볼 때

 Warning: require(/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/sandbox5678/StreamIt/cool.php on line 9 

     Fatal error: require(): Failed opening required '/vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/sandbox5678/StreamIt/cool.php on line 9 

거기에 외부 디렉토리로 이동하는 방법은 무엇입니까 ??

답변

0

PHP는 파일이 문서 루트 내에 있는지 여부를 신경 쓰지 않습니다. 단순히 올바른 경로를 사용하십시오.

공급 업체 폴더가 require를 포함하는 파일에서 한 단계 위로 인 경우, 다음을 수행하십시오.

require __DIR__ . '/../vendor/autoload.php'. 

__DIR__는 = PHP는 파일이있는 폴더의 전체 경로를 반환
/.. = 현재 경로에서 한 수준 위로 이동하십시오.
/../.. = 현재 경로에서 두 단계 올라간다 ...

+0

이 오류가 발생합니다. 치명적인 오류 : require() : '/ var/www/html/sandbox5678/StreamIt /'열 필요 실패. ./vendor/autoload.php '(include_path ='. :/usr/share/php ') /var/www/html/sandbox5678/StreamIt/index.php 온라인 6 – KidCoder

+0

@KidCoder - 어떻게 그럴 수 있습니까? 벤더 폴더가 당신이 작성한 파일에서 한 레벨 위로 올라간 것처럼 보입니다. 벤더 폴더는 어딘가에 있습니다. 따라서 경로를 조정하십시오. 시스템의 올바른 경로를 아는 것은 거의 불가능합니다. ... –

+0

아니야. 네가 그것을 보았다면 분명히 여전히 같은 디렉토리에서 찾고있다./경로에 추가하고있다. 나는 똑같은 번호로 시도했다. – KidCoder