я использую bin/console server:run
(или же app/console
для структуры каталогов Sf2) для разработки приложений с использованием Symfony2. К сожалению, на нескольких системах он в конечном итоге умирает (обычно из-за ошибки).
Я пробовал несколько версий PHP и операционных систем (5.5, 5.6 в Ubuntu 14.10 и 15.04, OS X 10.9 и 10.10).
Я сообщил об ошибках и продолжаю работать, но меня раздражает, что мне приходится время от времени перезагружать сервер вручную.
Я пытался сделать что-то вроде этого в качестве моей «цели сборки»:
until bin/console server:run -v; do \
sleep 1; \
done
Но, к сожалению, это работает только иногда (мне еще предстоит определить причину, по которой не удается перезапустить сервер).
Можете ли вы порекомендовать другой способ поддерживать этот сервер предпочтительно без изменения глобальных сервисов / демонов?
Вы можете использовать некоторое контролирующее программное обеспечение, чтобы гарантировать, что процесс всегда запущен. Проверьте супервизор (http://supervisord.org/)
Вам нужно будет указать похожую задачу для запуска:
[program:server]
command=bin/console server:run -v
directory=/var/www/symfony-dir
autostart=true
autorestart=true
Больше информации о флагах и примерах на http://supervisord.org/configuration.html#program-x-section-settings
И, как вы сказали, встроенный сервер не должен использоваться в производстве 🙂
Мне удалось заставить это работать с помощью forever.js.
В этом не было ничего фантастического, просто
forever start server.sh # sh contains bin/console server:run -v
Этот вопрос оказался очень полезным, так как я мог бы также включить сборочные часы и пару других вещей.