Intereting Posts

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

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

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

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

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

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

Это: использование Symfony \ Component \ HttpFoundation \ Request; А также

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

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


EDIT: Я опубликовал свое решение, проверьте здесь.

Ответ:

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

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

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

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

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

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

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

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

 date_default_timezone_set('America/Los_Angeles'); 

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