13

我将 Laravel 4 及其队列实现用于一些异步任务,并且我想使用 supervisord 来管理工作进程(基本上artisan queue:listen),就像我过去在其他框架中所做的那样。

当我手动运行 supervisord 时,它可以很好地启动工作进程,但是当我将它作为服务运行时,工作进程会立即终止并显示以下消息:

2013-07-25 09:51:32,162 INFO spawned: 'myproject' with pid 4106
2013-07-25 09:51:32,875 INFO exited: myproject (terminated by SIGSEGV (core dumped); not expected)

没有标准输出或标准错误输出。

这是工人的监督配置(没什么花哨的):

[program:myproject]
command=php artisan queue:listen --queue=queue_name iron --env=staging
directory=/home/myuser/myproject
stdout_logfile=/var/log/supervisord/myproject.stdout
stderr_logfile=/var/log/supervisord/myproject.stderr

它运行的服务器是 CentOS 6.4 64 位和来自 cPanel/WHM 的 PHP 5.3.25(不是我的选择,它是一个空闲的服务器,我们无能为力)。

关于可能导致问题的任何想法?

4

2 回答 2

4

几个月前我遇到了这个问题,对于我的生活,我无法准确记住解决方案是什么,但我有理由确定我的问题是我至少需要创建日志文件才能写入,它不会自己创建它们。

于 2013-12-31T01:37:53.570 回答
4

我知道这是一个旧线程 - 在 Laravel 工作正常之后我解决了这个问题。bootstrap 文件夹中有一个compiled.php。我删除了它,一切正常(我知道这会导致 Laravel 5 出现问题)

也许会对某人有所帮助

于 2015-01-25T10:02:56.537 回答