Проект Symfony в учетной записи CPanel

Немного истории - это первый раз, когда я попытался настроить тестовый проект Symfony, просто чтобы поиграть с ним.

Проект symfony был установлен в следующем месте:

~/symfony_projects/myproject/

Теперь, с помощью cpanel, httpd.conf генерируется автоматически (но я уверен, что вы это знали), и он использует ~/public_html/ в качестве веб-корня и разбивает его по имени домена (виртуальные хосты) - так что для этого примера скажем, это ~/public_html/example.com/.

Итак, проект symfony уже настроен, следующей проблемой было выяснить, как настроить сервер так, чтобы он указывал на /web часть проекта — вот где я нашел это сложным.

Я попытался сделать следующее:

ln -sf ~/public_html/libs/Symfony/data/web/sf ~/symfony_projects/myproject/web/sf
ln -sf ~/symfony_projects/myproject/web/* ~/public_html/example.com

Это, к сожалению, не сработало. При попытке перейти на http://www.example.com выдается ошибка 500.

Есть ли здесь другие варианты? Принимая во внимание, что я не могу изменить файл httpd.conf. И даже если бы я мог, он генерируется автоматически, а не (в cpanel).

* Обновление *

Я только что попробовал то, что было предложено @Dan, но с той же проблемой - получение HTTP Error 500 (Internal Server Error). Так что, похоже, дело в другом.

Я проверил свои error_logs, но не нашел там ничего полезного. Есть ли другой способ проверить, в чем проблема?

* Еще одно обновление *

Только что попробовал http://example.com/frontend_dev.php, и он работает отлично - вообще не выдает ошибок, что затрудняет отладку производственного контроллера.

Итак, контроллер разработки работает безупречно, а производство выдает ошибку 500 — есть идеи? :/


person xil3    schedule 02.02.2011    source источник


Ответы (2)


Я просто копирую все из web/ (включая подпапки css/, js/ и т. д.) на один уровень выше, а затем редактирую операторы require файлов index.php/yourapp_dev.php, чтобы отразить изменение пути. Добавьте несколько правил перезаписи, чтобы запретить прямой доступ к остальным каталогам, и вы все настроены на серверы, где вы не можете изменить корень документа.

person Dan Grossman    schedule 02.02.2011
comment
Хорошая работа, но что касается правил перезаписи, можете ли вы показать мне, что у вас есть для вашего .htaccess? - person xil3; 02.02.2011
comment
На самом деле, я только что попробовал именно это и получил HTTP Error 500 (Internal Server Error) - ту же ошибку, что и при попытке с символической ссылкой. Я проверил error_log, и он не дает мне никакой информации. - person xil3; 02.02.2011
comment
Создали ли вы каталоги журнала и кеша и дали ли разрешение на запись? Есть ли что-нибудь в каталоге журналов? - person Dan Grossman; 02.02.2011
comment
Да, журнал и кеш имеют 777 разрешения, и в журнале ничего нет. - person xil3; 02.02.2011
comment
Я читаю, что он по умолчанию выдает 500 для производственной версии (если есть какие-либо проблемы) - есть ли способ включить отладку в symfony? - person xil3; 02.02.2011
comment
Получите доступ к контроллеру разработки вместо производственного контроллера или измените среду для использования в файле. - person Dan Grossman; 02.02.2011
comment
Да, я только что зашел на http://example.com/frontend_dev.php, и он работает отлично - никаких ошибок. Но с производственным выдает ошибку 500. Я ожидал, что контроллер разработки скажет мне, в чем проблема... - person xil3; 02.02.2011
comment
@ xil3 Когда вы говорите о производстве, вы собираетесь http://example.com/ или http://example.com/index.php? - person Matt Gibson; 02.02.2011
comment
Пробовал оба, но теперь, после выполнения php symfony doctrine:build --all, кажется, что это работает - довольно странно, что dev работал до того, как это было сделано, а prod - нет. - person xil3; 02.02.2011
comment
Отличное время здесь ... У меня был точно такой же вопрос. Однако может ли кто-нибудь поделиться настройками .htaccess для правил перезаписи? (первый комментарий выше) - person Steve Perkins; 03.02.2011

Если вы посмотрите на запись виртуального хоста http.conf для проекта symfony, последняя строка обычно представляет собой закомментированный оператор включения. Если вы раскомментируете эту строку, вы добавите в этот файл любые дополнительные конфигурации виртуального хоста, которые вам нужны. Затем просто перезапустите апач. Все, что есть в файле, будет добавлено вместо оператора include.

person xzyfer    schedule 02.02.2011