2010-11-18 4 views
1

내 프로젝트에 Zend-framework를 포함시킬 수없는 이유에 대해 저의 고의를 고수했습니다. 환경을 설정하는 방법에 대한 문서가 명확하지 않습니다 (또는 그것이있는 곳을 찾지 못했습니다). 이 스레드에서 보았습니다 : How to configure Zend Framework on linux machine?하지만 행운. phpinfo()에서 Zend가 구성된 것을 볼 수 있지만 왜 그것을 사용할 수 없습니까? 이것을 PEAR/PECL에 추가하는 방법에 대한 문서를 찾았습니다.Zend-framework을 구성 할 수없는 이유는 무엇입니까?

내가이 게시물을 참조 않았다 http://devzone.zend.com/article/4683를하지만 여전히 작동하지

내가 시도하는 것 :

옵션 1

require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php'); 
Zend_Loader_Autoloader::getInstance(); 
sudo vi /etc/php5/apache2/php.ini 

이 줄을 변경 옵션 :

,451,515,
;include_path = ".:/usr/share/php" 

에 :

include_path=".:/usr/share/php:/usr/share/pear:/usr/share/php/libzend-framework-php" 

이 오류 얻기

아파치

다시 시작 :

Warning: require_once(Zend/Loader.php): failed to open stream: No such file or directory in /usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php on 
line 24 

Call Stack: 
    0.0002  61600 1. {main}() /var/www/webservice/zend/server.zend.xmlrpc.php:0 
    0.0009  174412 2. require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php') /var/www/webservice/zend/server.zend.xmlrpc.php:2 


Fatal error: require_once(): Failed opening required 'Zend/Loader.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/php/libzend-framework-p 
hp/Zend/Loader/Autoloader.php on line 24 

Call Stack: 
    0.0002  61600 1. {main}() /var/www/webservice/zend/server.zend.xmlrpc.php:0 
    0.0009  174412 2. require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php') /var/www/webservice/zend/server.zend.xmlrpc.php:2 
+0

자주 실행됩니다. 이 오류 및 신속하게 문제를 해결하려면 다음과 같이하십시오. stackoverflow.com/a/36577021/2873507 –

답변

1

BarZik 제안을 실행으로 내가

chmod 775 /usr/share/php/libzend-framework-php -R에 건의 할 것입니다. 그리고 apache 사용자의 권한을 다시 확인하십시오.

다음이를 사용하여 응용 프로그램 라이브러리에 심볼릭 링크 :

ln -s /var/www/webservice/library/Zend /usr/share/php/libzend-framework-php/ 
+0

흥미로운 아이디어, 나는 이것을 시도 할 수도 있습니다. 감사합니다 –

+0

감사합니다, 이것은 나를 위해 최선을 다하는 결국. 이제는 서비스 작동을 얻으려는 것입니다. –

+0

도움이 되니 기쁩니다! :) – tawfekov

1

나는, 많은 리눅스 시스템에서 젠드 FW를 설치했습니다를 나는 문제가 발생하는 경우가있었습니다 잘못 설정된 경로 또는 사용 권한 문제를 포함하십시오.

경로가 올바르지 않을 수도 있습니다. 'vi /usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php'또는 원하는 다른 텍스트 편집기를 사용해보십시오. 작동합니까? 은 아마 권한 문제, 변경하려고는/usr/공유/PHP/libzend 프레임 워크 - PHP/755 :

chmod 775 /usr/share/php/libzend-framework-php -R 
+0

덕분에 나는 경로의 유효성을 검사 했으므로 권한이 775 (root 권한), 즉 내 사용자를 소유자로 사용하고 있습니다. –

+0

여기에 자주 발생하는 오류에 대한 문제 해결 체크리스트가 있습니다 : stackoverflow.com/a/36577021/2873507 –

0

오류 메시지에 따르면 업데이트 된 include_path가 선택되지 않습니다.

include_path에 대한 phpinfo()의 기능은 무엇입니까?

포함하기 전에 set_include_path(get_include_path . ':/usr/share/php/libzend-framework-php');을 입력하면 어떻게 될까요?

여기에/usr/share/php/libzend-framework-php/Zend가 있다고 가정합니다.

+0

예, 존재합니다. 수동으로 경로를 설정하고 감사 드리겠습니다. –

+0

있습니다 이제이 자주 발생하는 오류에 대한 문제 해결 체크리스트를 확인하십시오 : stackoverflow.com/a/36577021/2873507 –

0

봅니다 젠드 라이브러리를 이동 :

cd /usr/share/php/libzend-framework-php 
mv library/Zend /usr/share/php/ 

는 원래 include_path을 되돌릴 수 :

include_path = ".:/usr/share/php" 

다시 시작 아파치

+0

이것이 저에게 의미가 있는지는 잘 모르겠지만 마음에 두는 옵션입니다. 감사합니다. –

+0

이제 여기 자주 오류에 대한 문제 해결 체크리스트 : stackoverflow.com/a/36577021/2873507 –

0

일의 몇 벽에 내 머리를 두드리는 후 내가 그것을 알아 냈다고 생각합니다. 이 페이지를 보시려면 : http://devzone.zend.com/article/4683 php.ini 파일에 zend 경로를 추가해야한다는 것을 이해했습니다. 나는 아무 효과없이 이것을했다. PHP 구성을 살펴본 후 /etc/php5/conf.d/에서 발견했습니다. PHP가 추가 모듈/ini로로드하는 zend-framework.ini 파일의 라이브러리 경로를 주석 처리하여 zend를로드 할 수 있습니다.

관련 문제