Развертывание проекта Symfony2


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

Изменить: пустая страница находится в Firefox. Google Chrome что-то говорит:

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

Отображается журнал ошибок:

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

Это: используйте Symfony\Компонент\HttpFoundation\Запрос; И

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

Это: $reflector =новое \Расширение отражения ('intl');


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

Author: Nadjib Mami, 2012-03-25

5 answers

Ответ:

Я заставил это работать, вот мой опыт:

  • Загрузите всю папку проекта на сервер.
  • Введите 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, предоставление разрешений на запись в папки /кэш и /журнал и т.д.
  • После того, как вы предоставите необходимые условия, вы увидите форму настройки вашего проекта для подключения к базе данных, если она у вас есть, этот шаг довольно прост.
  • Откройте ссылку 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-адрес в массив).
    Примечание Хакана Дерьяла (комментарий): Если у вас нет фиксированного IP-адреса, вам нужно выполнять этот последний шаг каждый раз, когда вы получаете новый IP-адрес от DHCP. Поэтому, чтобы решить эту проблему, откройте app_dev.php и закомментируйте строку die('You are not allowed to.., однако это не рекомендуется, поскольку вы отключаете встроенную защиту файла.
  • Одна вещь остановила меня и может остановить вас тоже, сервер, на котором я развернул проект, был чувствителен к регистру (в отличие от локального хоста на моем компьютере), поэтому он продолжал говорить мне, что шаблон (Index.html.php, например) не существует, однако он существует, но я сделал return $this->render('...:index.html.php') с небольшим i в DefaultController.php. Поэтому отобразите точное имя шаблона (файла) с теми же буквами.

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

 24
Author: Nadjib Mami, 2012-04-01 21:06:34

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

*Поскольку пространства имен относятся только к 5.3.

 3
Author: Peter Csiba, 2012-08-31 12:49:12

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

 0
Author: GorillaApe, 2012-03-24 22:05:26

Что касается php 5.3. проверьте это http://www.php.net/manual/en/dom.setup.php

 0
Author: dotoree, 2012-03-24 22:53:46

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

date_default_timezone_set('America/Los_Angeles');

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

 0
Author: turtec, 2014-04-11 09:05:02