保持Symfony2内置服务器不会死亡

时间:2015-04-27 09:04:17

标签: php symfony php-builtin-server

我使用bin/console server:run(或app/console用于Sf2目录结构)来使用Symfony2开发应用程序。不幸的是,在多个系统上,它最终会死亡(通常是因为段错)。

我尝试过多个PHP版本和操作系统(在Ubuntu 14.10和15.04,OS X 10.9和10.10上为5.5,5.6)。

我报告了错误并继续工作,但我很恼火,我不得不经常手动重启服务器。

我尝试做这样的事情作为我的构建目标':

until bin/console server:run -v; do \
sleep 1; \
done

但遗憾的是,它有时只能起作用(我还没确定它无法重启服务器的原因)。

您是否可以推荐另一种方法来保持此服务器的优化,而不会影响全局服务/守护神?

3 个答案:

答案 0 :(得分:1)

您可以使用一些监督软件来确保流程始终在运行。查看supervisord(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

上的标记和示例的更多信息

正如你所说,内置服务器不应该用于生产:)

答案 1 :(得分:1)

我设法使用forever.js来实现这一点。

这不是什么花哨的事,只是

forever start server.sh # sh contains bin/console server:run -v

This question证明非常有用,因为我还可以包括资产观察和其他一些事情。

答案 2 :(得分:0)

这是一个老问题,但是我在Windows上的新Symfony 4服务器上也遇到了同样的问题。 这是我的解决方案:https://gist.github.com/banasmat/ef87cd236e248b6287337b6ba30df5c0