просмотров:11029 | комметариев: 4

Заливаем Zend framework(ZF) на хостинг


Итак, после того как Вы развернули на локальной машине Zend framework и сотворили безусловно щедевральный сайт, блог или т.п. приходит пора заливать своё творение на хостинг.

Расскажу как это сделать на примере хостинга 000webhost.com

У Вас будет примерно такая вот структура папок:

/..
-application
-docs
-library
-logs
-public


На хостинге будет так (у разных хостеров может быть по разному):

/..
-public_html


В данном случае public_html это аналог вашей локальной папки public. Соответственно, в public_html закачиваем содержание папки public, остальные закачиваем в корень

Должна получится следующая структура папок на хостинге:

/..
-application
-docs
-library
-logs
-public_html


Теперь нужно в папку library залить сам ZF, если он там уже не залит(что врят ли).

Значит заливаем содержимое папки C:Program FilesZendZendServerGUIlibrary (У ВАС МЖЕТ БЫТЬ ДРУГОЙ ПУТЬ к этой папке!) в папку library

В итоге, в папке library должна находится папка Zend, а в ней куча папок с библиотеками, Application.php и пр.

После этого, возможно, Ваши мучения закончатся. Что легко можно проверить ;-)

У меня же вылезла следующая ошибка:

Fatal error: Uncaught exception 'Zend_Exception' with message 'Security check: Illegal character in filename' in /home/a32993453453/library/Zend/Loader.php ......
Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('db') #7 /home/a32993453453/library/Zend/Application/Bootstrap/BootstrapAbstract.php(584): Zend_Applicatio in /home/a32993453453/library/Zend/Loader.php on line 303

Лечится заменой в application.ini всех одинарных кавычек на двойные

После чего зенд запустился, но оказалось не работают любые контроллеры, кроме index (перебрасывает на 404)

Ну впрочем зенд тут не причем. Не верно работал реврайт в .htaccess

Лечится вставкой слеша перед index.php в .htaccess

До:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /index.php [NC,L]

Вот и сказочки конец, а кто слушал молодец! )))

С уважением, Михаил Губарев.



просмотров:11029 | комметариев: 4
Денис
07 января 2013, 06:40
"Лечится заменой в application.ini всех одинарных кавычек на двойные" - спасибо, помогло :)
Dima
18 Февраля 2013, 01:21
Warning: realpath() [function.realpath]: open_basedir restriction in effect. File(/home/bilet01/bilet.cn.ua/application) is not within the allowed path(s): (/home/bilet01/bilet.cn.ua/www:/home/bilet01/.system/tmp:/usr/local/pear) in /home/bilet01/bilet.cn.ua/www/index.php on line 5

Warning: require_once(Zend/Application.php) [function.require-once]: failed to open stream: No such file or directory in /home/bilet01/bilet.cn.ua/www/index.php on line 18

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Application.php' (include_path=':.:/usr/local/pear') in /home/bilet01/bilet.cn.ua/www/index.php on line 18


Help))!
Губарев Михаил
24 Февраля 2013, 10:13
Dima, судя по ошибке, не залили зенд на хостинг или залили не туда
Павел
29 апреля 2015, 22:13
Спасибо огромное! Второй ваш совет решил проблему.
просмотров:11029 | комметариев: 4

Оставить комментарий:    

Ваше имя:
 
Текст комментария:
 
+ 1 =