Почему я не могу настроить Zend-framework - PullRequest
1 голос
/ 19 ноября 2010

Стучит в голову, почему я не могу включить Zend-фреймворк в свой проект. В документации неясно, как настроить среду (или не нашли ее). Посмотрел эту ветку: Как настроить Zend Framework на машине linux? но не повезло. В phpinfo () я вижу настроенный Zend, но почему я не могу его использовать? Искал документацию о том, как добавить это в PEAR / PECL, не повезло.

Я видел этот пост: 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

Ответы [ 6 ]

1 голос
/ 19 ноября 2010

Я бы предложил

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

, а затем сделайте символическую ссылку на библиотеку вашего приложения, используя:

ln -s /var/www/webservice/library/Zend  /usr/share/php/libzend-framework-php/
1 голос
/ 19 ноября 2010

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

Возможно, путь не правильный, попробуйте 'vi /usr / share / php / libzend-framework-php / Zend / Loader / Autoloader.php 'или любой другой текстовый редактор, который вам нравится.Это работает?Возможно, это проблема с правами доступа, попробуйте изменить / usr / share / php / libzend-framework-php / на 755:

chmod 775 /usr/share/php/libzend-framework-php -R
0 голосов
/ 19 ноября 2010

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

0 голосов
/ 19 ноября 2010

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

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

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

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

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

0 голосов
/ 19 ноября 2010

Согласно сообщениям об ошибках, ваш обновленный 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 голосов
/ 19 ноября 2010

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

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

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

...