Внутренняя ошибка сервера при развертывании Zend Framework в cPanel - PullRequest
1 голос
/ 10 сентября 2011

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

public_hmtl
-> application (папка)
-> libary (папка)
-> public (папка)
-> test (папка)
-> cgi-bin (папка) (это не принадлежит мне в первую очередь)
-> buildpath
-> htaccess (это не принадлежит мне в первую очередь)
-> project
-> zfproject.xml
-> index.php (для перенаправления на / public)

Когда я запускаю сайт, он показывает:

Внутренняя ошибка сервера

Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос.

Пожалуйста, свяжитесь с администратором сервера, webmaster@myweb.com и сообщите им.времени, когда произошла ошибка, и все, что вы могли сделать, возможно, вызвало ошибку.

Дополнительные сведения об этой ошибке могут быть доступны в журнале ошибок сервера.

Кроме того, 404Ошибка не найдена при попытке использовать ErrorDocument для обработки запросат.

Я сделал проект в localhost, используя xampp, и он отлично работает.Но когда я загрузил в cPanel, стало так.

Я установил chmod для папки на 755 и файл на 644. Я думаю, что это связано с htaccess, но я не совсем понимаю, как с этим справиться в cPanel.

Что я должен делать?

Журнал ошибок показывает что-то вроде этого:

[Sat Sep 10 15:10:39 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/404.shtml
[Sat Sep 10 15:10:39 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/favicon.ico
[Sat Sep 10 15:10:39 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/500.shtml
[Sat Sep 10 15:10:39 2011] [alert] [client 125.163.228.77] /home/publicusername/public_html/public/.htaccess: Invalid command 'SetEnv', perhaps misspelled or defined by a module not included in the server configuration
[Sat Sep 10 15:09:58 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/404.shtml

my public / htaccess

SetEnv APPLICATION_ENV production

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

Я установил SetEnv APPLICATION_ENV в SetEnv APPLICATION_ENV production public /htaccess, но все равно не удалось.

Ответы [ 2 ]

2 голосов
/ 10 сентября 2011

Ошибка указывает на SetEnv.Я думаю, ваш хост использует действительно старую версию Apache (до 1.3.7) или не включил mod_env.

0 голосов
/ 10 сентября 2011

Я думаю, что ваша ошибка не в правильной структуре папок. Папка 'public_html' не должна содержать все дерево проекта, здесь должно быть только содержимое публичной папки. Другие папки (приложение, библиотека, тестирование и т. Д.) Должны находиться вне папки public_html. Public_html - это ваш корневой веб-каталог. Вы можете представить себе public_html как псевдоним вашей публичной папки.

Та структура папок, которую я использую в моем текущем проекте (Сервер работает на CentOS, и используется CPanel). Возможно, у вас возникнут проблемы, если в источнике используется имя public. В этом случае вы можете определить псевдоним в главном файле index.php и использовать его в других местах.

...