4

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

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

我报告了错误并继续工作,但我很恼火我必须不时手动重新启动服务器。

我试图做这样的事情作为我的“构建目标”:

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

但不幸的是,它有时只能工作(我尚未确定它无法重新启动服务器的原因)。

你能推荐另一种方法来保持这个服务器最好而不修改全局服务/守护进程吗?

4

3 回答 3

1

我设法通过使用forever.js 让它工作。

没有什么花哨的,只是

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

这个问题被证明非常有帮助,因为我还可以包括资产手表和其他一些东西。

于 2015-04-27T12:42:07.720 回答
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

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

于 2015-04-27T09:13:10.377 回答
0

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

于 2020-09-18T08:42:00.403 回答