【发布时间】:2013-04-23 01:31:05
【问题描述】:
我在 Centos 6.4 上安装了 PHP 5.3.3,扩展名为 memcached.so,并且 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)
没有重新安装我的操作系统并尝试不同版本的废话,谁能解释可能导致此问题的原因?
【问题讨论】:
-
php 有一个用于 CLI 和 web\Apache 版本的 php.ini 文件,请确保您在两者中都进行了适当的更改
-
不要忘记重新加载更改
-
@Dagon -
/etc/php.ini文件包含“extension=memcached.so”,CLI 和 Web 都在使用它。如果扩展未安装在 .ini 文件中,我想我会收到“找不到 Memcached”错误... -
@wayne - 我已经重启了 httpd 并重启了很多次。
-
我相信@casper123 所问的是您是否检查了您的服务器是否安装了多个 PHP 版本。也许你有一个 Apache 使用的,另一个在 CLI 中运行 - 也许一个安装了
yum,另一个是从源代码编译的。