Фатальная ошибка развертывания сервера Symfony 2: Он пытается открыть файл localhost


Я создал приложение symfony2 и пытаюсь развернуть его на общем сервере, но получаю фатальную ошибку.

Я предпринял рекомендуемые шаги здесь: Инструменты развертывания

Я обновил зависимости от поставщиков:

php composer.phar install --optimize-autoloader

Я очистил кэш:

php app/console cache:clear --env=prod --no-debug

Я изменил разрешения на сервере для app/cache и app/logs

Но это не работает. Это ошибка:

Неустранимая ошибка: Неперехваченное исключение "Непредвиденное значение исключения" с сообщением "Не удалось открыть поток или файл "/var/www/cookieboy/app/logs/prod.log": не удалось открыть поток: Нет такого файла или каталога" в /homepages/32/d453730371/htdocs/cookieboy/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:71

Трассировка стека:

#0 /homepages/32/d453730371/htdocs/cookieboy/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37) : Монолог\Обработчик\Обработчик потока->запись(массив)

#1 /homepages/32/d453730371/htdocs/cookieboy/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php(58) :Монолог\Обработчик\Abstractprocessinghandler->дескриптор(массив)

#2 /homepages/32/d453730371/htdocs/cookieboy/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php(101) :Монолог\Обработчик\Абстрактный обработчик->Handlebatch(Массив)

#3/homepages/32/d453730371/htdocs/cookieboy/vendor/monolog/monolog/src/Monolog/Logger.php (239): Монолог\Обработчик\Скрещенные пальцы->дескриптор(массив)

#4/домашние страницы/32/d453730371/htdocs/cookieboy/поставщик/мо в/homepages/32/d453730371/htdocs/cookieboy/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php в строке 71

И мне было интересно, почему symfony пытается открыть этот файл /var/www/cookieboy/app/logs/prod.log), который находится по адресу locahost и не имеет никакого отношения к производственному серверу.

Есть идеи по этому поводу?

Author: Spontifixus, 2013-08-28

3 answers

Я решил проблему, удалив вручную все содержимое внутри app/cache. Я не знаю почему, но команда php app/console cache:clear --env=prod --no-debug сделала свою работу не так, как я ожидал.

Спасибо всем вам за ответы.

 7
Author: Abraham, 2013-09-10 15:55:05

Вы настроили разрешения?

$ sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

Если у вас нет доступа к изменению списка управления доступом каталогов, вам потребуется изменить umask, чтобы каталоги кэша и журналов были доступны для групповой записи или для записи во всем мире (в зависимости от того, находятся ли пользователь веб-сервера и пользователь командной строки в одной группе или нет). Чтобы добиться этого, поместите следующую строку в начале приложения/консоли, web/app.php и web/app_dev.php файлы:

umask(0002); // This will let the permissions be 0775

// or

umask(0000); // This will let the permissions be 0777

В любом случае я рекомендую вам использовать capifony для развертывания. как только вы его настроите. вы забудете о проблемах с развертыванием.

 0
Author: hd.deman, 2013-08-29 10:26:08

Если вы откроете app_dev.php в вашем любимом текстовом редакторе вы заметите, что одна строка, содержащая массив ip-адресов, разрешена для доступа к среде разработки. Это прокомментировано.

Вы можете отредактировать этот файл локально, а затем загрузить его по ftp. Просто убедитесь, что вы разместите там свой публичный IP-адрес. Затем вы сможете получить доступ к среде разработки при подключении с этого ip-адреса. Это также позволит вам запускать app_dev.php на вашем удаленном хосте точно так же, как вы это делали на своем локальном хосте.

Кроме тебя сможете получить больше информации об отладке. Очевидно, что это недостаток безопасности, и его никогда не бывает в серьезных приложениях, но он действительно распространен при изучении symfony и отсутствии ssh.

Аналогичным образом вы можете запустить config.php на вашем сервере.

(Пожалуйста, обратите внимание, что в этом случае все, кто подключается с этого ip-адреса, смогут получить доступ к среде разработки.)

 0
Author: takwlasnie, 2013-08-29 14:41:04