2010-11-18 3 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(); 

Вариант 2

sudo vi /etc/php5/apache2/php.ini 

изменил эту строку:

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

к:

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

перезапуске Apache

Получение этой ошибки:

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

я хотел бы предложить

chmod 775 /usr/share/php/libzend-framework-php -R, как Ран BarZik предложение. и дважды проверьте разрешения пользователя apache.

затем симлинки его в библиотеку приложений с помощью этого:

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

Интересная идея, я могу попробовать. Спасибо –

+0

Спасибо, Это закончило работать лучшим для меня. Теперь он просто пытается заставить службу работать –

+0

Рад, что это помогло! :) – tawfekov

1

I; ве установлен Zend FW на многих системных Linux, и если я столкнулся с проблемами он был на включить путь, который был установлен неправильно или разрешить проблему.

Возможно, путь неправильный, попробуйте '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

Ваша основная конфигурация должна быть: приложения/конфиги/application.ini

Это говорит контроллеру zend, где искать файлы библиотеки и т. Д.

Вы смотрите здесь, когда вы устанавливали? : http://framework.zend.com/manual/en/learning.quickstart.create-project.html

+0

Спасибо за ссылку, я посмотрю на него –

0

Согласно сообщениям об ошибках, обновленный include_path не подбирается.

Что phpinfo() может сказать о вашем include_path?

Что делать, если вы 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

Попробуйте переместить ZEND библиотеку:

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

вернуться include_path к оригиналу:

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

Перезапустите Apache

+0

Я не знаю, имеет ли это значение для меня, но это вариант, который я буду иметь в виду, спасибо –

+0

. контрольный список устранения неполадок для этой частой ошибки здесь: stackoverflow.com/a/36577021/2873507 –

0

После стучал голову к стене в течение нескольких дней, я думаю, что я понял это. Глядя на эту страницу: http://devzone.zend.com/article/4683 Я понял, что мне нужно добавить zend-путь в файл php.ini. Я сделал это без последствий. Посмотрев на мою конфигурацию PHP, я заметил в /etc/php5/conf.d/. Я мог загружать zend, раскомментируя путь библиотеки в файле zend-framework.ini, который PHP загружает в качестве дополнительного модуля/ini

Смежные вопросы