2016-09-21 6 views
0

나는 PEAR의 Services_Facebook-0.2.14 SDK를 사용하고, 그리고 Facebook.php에서 다음 줄의 첫 번째 실패 : 로그 메시지왜 require_once가 실패합니까?

require_once 'Common.php'; 
require_once 'Services/Facebook/Common.php'; 
require_once 'Services/Facebook/Exception.php'; 

: 내 페이스 북 API 클라이언트에서

[21-Sep-2016 13:41:46 UTC] PHP Fatal error: require_once(): Failed opening required 'Common.php' (include_path='/home/thehanfw/php/Services') in /home/thehanfw/php/Services/Facebook.php on line 23

, 나는 다음과 같은 라인을 사용 SDK에 액세스하려면

ini_set("include_path", "/home/thehanfw/php/Services"); 
require_once "Facebook.php"; 

필자는 다음과 같이 명시 적으로 이와 같이 포함 경로를 설정했습니다. befo 다시 내 애플은 심지어 Facebook.php을 찾을 것입니다. Common.php 파일이 존재하며 이 이미 포함 디렉토리이기 때문에 require_once 'Services/Facebook/Common.php';을 주석 처리했으며 원본 코드와 정확히 동일한 오류가 발생했습니다.

클라이언트 응용 프로그램에서 HTTP ERR_TOO_MANY_REDIRECTS 오류가 발생하기 전에이 오류가 매우 빠르게 연속해서 약 20 회 기록된다는 점이 흥미 롭습니다. 이것은 PHP 5.6.22와 공유 호스트에 있습니다.

속보 : 내 클라이언트 응용 프로그램이 내 dev 컴퓨터에서 잘 작동하고 있다는 것을 알았지 만 나중에 내 PC에 손상된 PEAR을 설치했다는 것을 알았고 응용 프로그램이 SDK에 대해 직접 작업하고있었습니다. 페이스 북에서 다운로드받은 php-graph-sdk-5.0.0. FB 버전 대 0.2.14 PEAR 버전인지는 모르지만 호스트에서 PEAR 쓰레기를 제거하고 FB SDK를 설치했으면 호스트에서도 작동합니다.

+0

PHP가 올바른 폴더 위치를 가리키고 있지 않다고 생각합니다. include_path는 괜찮아 보입니다. (Facebook.php가 거기에 있기 때문에 기본 디렉토리가 좋습니다.) 따라서,'require_once 'Services/Facebook/Common.php'에서'Services /'부분을 제거하면, 괜찮을 것이라고 생각합니다. – Werner

+0

내가 해냈어. 그리고 작동 했어. 그런 다음,'Common.php'에서 같은 문제를 발견했다. 그것은 PEAR의 코드이며 전혀 아는 것이 아니며 매우 익숙하지 않으므로 알려 드리겠습니다. 직접 시도하지 마세요. – ProfK

답변

0

PEAR 패키지 코드 파일에는 포함 경로에 루트 패키지 디렉토리가있을 때만 작동하는 require_once 문장이 있습니다. 포함 경로에 적어도 /home/thehanfw/php/을 포함해야합니다. 수동으로 패키지를 추출한 곳이기 때문에 포함 경로에 적어도 /home/thehanfw/php/을 포함해야합니다. 당신은 정말 당신이 무엇을하고 있는지 알지 못한다면

추출 PEAR 패키지를 수동으로 is not recommended는 :

We removed this section, because, today, manually installing a package requires a deeper understanding of the way how packages are organized and what happens during the installation process. You should read the section about the package.xml in the Developers Guide (package.xml and package.xml 2.0), if you really want install a package without the PEAR installer.

당신은 분명히하지 않는, 실패했습니다.


PEAR 패키지는 6 년 전인 2010 년에 마지막으로 출시되었습니다. 공식 API를 사용하는 것이 좋습니다.