在PHP脚本中启动redis-server进程

时间:2014-02-20 01:04:55

标签: php shell unix redis shell-exec

在PHP脚本中,我使用redis-cli ping定期检查我的redis-server是否正在运行。

如果返回NULL,我想在同一个脚本中重启redis-server,再次ping redis。

这样做的最佳方式是什么?

我最接近的是使用shell_exec("redis-server"),但这会使PHP脚本挂起(因为它在同一个过程中启动屏幕)。有没有办法在PHP中运行screen redis-server而不挂掉当前脚本?

我还尝试了exec("sh " . __DIR__ . "/start_redis.sh"),其中包含screen redis-server,但这没有任何效果。

1 个答案:

答案 0 :(得分:0)

很可能它不是作为守护进程运行,因此它是挂起的。退房:

http://www.art-coder.com/2011/12/01/how-to-run-redis-server-as-daemon/

将其设置为守护程序后,应立即返回shell_exec()调用。

您还应该确保php脚本作为与redis-server

相同的有效用户运行