php - 如何从 PHP 重新启动 memcached

标签 php memcached centos

我有 CentOS 的 vps 托管。该服务器上有 Apache、PHP、MySql。 我安装了memcached。 有时(3-4 天一次)memcached 停止 - 我不知道为什么,日志文件中缺少必要的信息。

我找到了解决方案 - 当 memcached 已经崩溃时,每 10 分钟运行一次 cron,验证 memcached 是否已启动(通过命令 memcached-tool) - 我发送电子邮件并通过服务器命令行启动 memv=cached

但是我会自动启动memcached,但我不能这样做。

我尝试了这样的命令

system("/etc/init.d/memcached start");
exec("service memcached start");
system("service memcached start");

但我还没有结果。

最佳答案

我只想指出,为这样的事情创建一个实际的 cronjob 会更安全。

请在此处阅读有关 exec() 函数的更多信息:http://php.net/manual/en/function.exec.php

此外,如果 safe_mode 开启,您将无法在 safe_mode_exec_dir 之外执行命令。这些是在 php.ini 或自定义 php 配置中设置的。

正如另一位回答者所指出的,最好隔离崩溃的原因,而不是重复启动它。当 memcached 崩溃时,您会遇到什么类型的错误?显然你有某种方式知道它已经崩溃了,否则你就不会问这个问题。最明显的答案可能是缓存已满,并且您的脚本对缓存的访问过于频繁/频繁,以至于无法调出页面。

关于php - 如何从 PHP 重新启动 memcached,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874877/

相关文章:

php - 如何删除 memcached 中具有相同前缀键的项目?

php - 来自 cURL : #3: <url> malformed 的错误

php - Laravel App 执行两个请求,但第二个不需要

php - 访问 PHP 对象的属性,如 CSS-3 选择器

php - PHP 是如何赚钱的?他们不募捐,也不出售专业解决方案

php - Memcached 在网络浏览器中不工作,但使用 php 命令工作

php - 在 yii2 中使用 memcache 缓存一个值

cassandra - CentOs 6.5 最终版和 Datastax Enterprise 4

centos - 如何在 Docker 中检测容器内核版本

centos - 如何使用 Chef 在 vagrant centos 盒子上设置综合构建器环境?