PHP,Memcached可以从命令行运行,但不能从Web运行

Fra*_*rth 11 php apache memcached

我在带有memcached.so扩展名的Centos 6.4上安装了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;
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行它时,它工作.我得到以下内容:

10:22:33 $ php index.php
int(0)
string(7) "SUCCESS"
string(4) "blah"
Run Code Online (Sandbox Code Playgroud)

内存缓存服务器也可以在telnet上运行.但是,当我index.php从网上运行时,它失败了.我得到以下内容(来自查看网页来源):

int(47)
string(51) "SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY"
bool(false)
Run Code Online (Sandbox Code Playgroud)

如果没有重新安装我的操作系统并尝试不同版本的垃圾,任何人都可以解释可能导致此问题的原因吗?

小智 2

这是SELinux问题吗?CLI 可以访问 Memcached,但守护进程不行。尝试这个 :

  • getenforce了解您是否启用了 SELinux
  • setenforce 0禁用它
  • reboot
  • 重试您的测试

如果是好的,您必须配置 Apache 来访问 Memcached。