Развертывание проекта Symfony2 - PullRequest
5 голосов
/ 25 марта 2012

Мы работали над проектом Symfony2. Теперь это сделано и готово к развертыванию. Мы загрузили файлы всего проекта на сервер (конечно, через ftp) и базу данных. Теперь, когда мы открываем любую его страницу, мы получаем только пустую страницу (пустой исходный код). Кеш чистый, в логах ничего нового не показывается. Мы погуглили шаги по развертыванию проекта Symfony2 на хостинге, но не нашли хорошего объяснения (даже эти были о Symfony not-version-2). Мы считаем, что это может быть проблема конфигурации, но пока не знаю. Любая помощь будет оценена. Заранее спасибо.

Редактировать: пустая страница в Firefox. Google Chrome что-то говорит:

Ошибка сервера. Веб-сайт обнаружил ошибку при получении http://*.com/mammoky/web/app_dev.php/main. Это может быть вниз для обслуживание или настроен неправильно. Вот некоторые предложения: Перезагрузите эту страницу позже. Ошибка HTTP 500 (внутренняя ошибка сервера): An во время попытки сервера произошло непредвиденное состояние выполнить запрос.

error_log показывает:

[24 марта 2012 23:29:24] Ошибка синтаксического анализа PHP: ошибка синтаксиса, неожиданная T_STRING, ожидая T_CONSTANT_ENCAPSED_STRING или '(' в /home/leadow33/public_html/mammoky/web/app.php в строке 7

Это: использовать Symfony \ Component \ HttpFoundation \ Request; И

[24 марта 2012 23:15:08] Предупреждение PHP: неожиданный символ при вводе: '\' (ASCII = 92) состояние = 1 в /home/leadow33/public_html/mammoky/web/config.php в строке 84

Это: $ refleor = new \ ReflectionExtension ('intl');


РЕДАКТИРОВАТЬ: Я разместил свое решение, проверьте его здесь.

Ответы [ 4 ]

24 голосов
/ 31 марта 2012

Ответ:

Я получил его на работу, это мой опыт:

  • Загрузить всю папку проекта на сервер.
  • Введите www.your-website.com/project-name/web/config.php.
  • В нем должно быть сказано: «Этот скрипт доступен только с локального хоста».
  • Откройте этот веб-сайт: http://www.whatismyip.com, он должен показать вам ваш публичный IP-адрес, скопируйте его.
  • Откройте config.php из панели администратора (например, cPanel) и отредактируйте config.php:

if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1', /*your IP here*/))) {
    header('HTTP/1.0 403 Forbidden');
    die('This script is only accessible from localhost.');  
}

  • Обновите config.php, на странице будет указано, что в вашей системе отсутствуют некоторые обязательные условия, такие как: версия PHP, расширение APC, предоставление папкам / cache и / log разрешений на запись и т. Д.
  • После того, как вы предоставите необходимыепри условии, что вы увидите форму настройки вашего проекта для подключения к базе данных, если она у вас есть, этот шаг довольно прост.
  • Откройте ссылку www.your-website.com/project-name/web/app_dev.php, это поможет вам начать работу с проектом Symfony2.
  • Если вы получили app_dev.php это сообщение: You are not allowed to access this file... просто сделайте то же самое дляapp_dev.php как вы делали в шагах 4 и 5 (добавьте ваш публичный IP-адрес в массив).Примечание о Hakan Deryal (комментарий): Если у вас нет фиксированного IP-адреса, этот последний шаг необходимо выполнять каждый раз, когда вы получаете новый IP-адрес от DHCP.Чтобы решить эту проблему, откройте app_dev.php и закомментируйте строку die('You are not allowed to.., однако это не рекомендуемый способ, поскольку вы отключаете встроенную защиту файла.
  • Одна вещь остановила меня и может остановить вас, сервер, на котором я развернул проект, был чувствителен к регистру (в отличие от localhost на моем компьютере), поэтому он продолжал говорить мне, что шаблон (Index.html.php дляпример) не существует, однако он существует, но я сделал return $this->render('...:index.html.php') с небольшим i в DefaultController.php.Так что выведите точное имя шаблона (файла) с теми же буквами.

Теперь все идет хорошо, надеюсь, это вам поможет.

3 голосов
/ 31 августа 2012

В моем случае это была версия php *, и я уловил ошибку, запустив config.php с удаленными строками для проверки IP-адреса. На моем хостинге я просто изменил версию PHP по умолчанию для моих скриптов.

* Так как пространства имен только из 5.3.

0 голосов
/ 11 апреля 2014

Если ваша установка выполняется на общем веб-сервере, попробуйте установить следующую строку в app.php:

date_default_timezone_set('America/Los_Angeles');

Это решает проблему в моем случае.

0 голосов
/ 25 марта 2012

production is app_dev, но app .. Страница может быть такой же, вы делали просмотр источника? Вы пытались запустить config.php, который поставляется с zip-файлом фреймворка?

...