我在 Centos 6.4 上安装了带有 memcached.so
扩展的 PHP 5.3.3,httpd 运行的版本是 2.2.15-26。这是我的 index.php
:
$mc = new \Memcached();
$mc->addServer('127.0.0.1', 11211);
$mc->set("test", "blah");
var_dump($mc->getResultCode());
var_dump($mc->getResultMessage());
var_dump($mc->get("test"));
die;
当我从命令行运行它时,它有效。我得到以下信息:
10:22:33 $ php index.php
int(0)
string(7) "SUCCESS"
string(4) "blah"
memcache 服务器也可以通过 telnet 工作。但是,当我从网络运行 index.php
时,它失败了。我得到以下信息(来自查看网页源代码):
int(47)
string(51) "SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY"
bool(false)
没有重新安装我的操作系统并尝试不同版本的废话,任何人都可以解释可能导致此问题的原因吗?
最佳答案
它是 SELinux 问题吗? Cli 可以访问 Memcached 但守护进程没有。试试这个:
getenforce
了解您是否启用了 SELinuxsetenforce 0
禁用它重启
- 重试你的测试
如果是好的,您必须配置 Apache 以访问 Memcached。
关于PHP、Memcached 从命令行运行,但不能从 Web 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16159415/