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

标签 php shell unix redis shell-exec

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

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

执行此操作的最佳方法是什么?

我最接近的是使用 shell_exec("redis-server") 但这会使 PHP 脚本挂起(因为它在同一进程中启动屏幕)。有没有一种方法可以在不挂断当前脚本的情况下在 PHP 中运行 screen redis-server

我也尝试过包含 screen redis-serverexec("sh ". __DIR__ . "/start_redis.sh"),但这什么都不做。

最佳答案

很可能它没有作为守护进程运行,因此挂起。查看:

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

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

您还应该确保 php 脚本以与 redis-server 相同的有效用户身份运行

关于php - 在 PHP 脚本中启动 redis-server 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896022/

相关文章:

java - Unix 中的 jvisualvm

php - 在网页上制作可下载文件密码保护

php - 如何在同一资源LARAVEL中返回数据透视表的数据

objective-c - Xcode Cocoa Objective C 使用 NSTask 执行 "Find"Shell 命令返回语法

bash - 写入文件,但如果存在则覆盖它

linux - 指定 Telnet 窗口大小

php - 安装新下载的 php 包 ubuntu 服务器

php - MySQLi:使用变量查询另一个表

android - android bash shell脚本的问题

macos - Mac电脑有免费的shell服务吗?