php -v给出了这个
PHP Warning: PHP Startup: memcache: Unable to initialize module Module compiled with module API=20060613 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: memcache: Unable to initialize module Module compiled with module API=20060613 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 bogus test name tests/
PS.我从php 5.2升级到5.3.在此之前一切正常.
当您更新PHP的版本(特别是从版本XY到版本XZ)时,您还必须更新PHP扩展.
这是因为PHP扩展是用C开发的,并且与PHP的内部结构"接近" - 这意味着,如果这些内部的API发生变化,则必须重新编译扩展,以使用新版本.
而且,在PHP 5.2和PHP 5.3之间,我记得,PHP引擎使用的内部数据结构有一些修改 - 这意味着必须重新编译扩展,以匹配那些新版本的数据结构.
如何更新PHP扩展将取决于您使用的系统.
如果你在Windows上,你可以在.dll
这里找到一些扩展:http
://downloads.php.net/pierre/
有关不同版本的更多信息,你可以看看窗口左侧边栏上的内容.php.net.
如果您使用的是Linux,则必须:
检查您的发行版提供的内容
或者使用该pecl
命令重新下载相关扩展的源代码,然后重新编译它们.
只是
pecl uninstall module_name
然后
pecl install module_name
你的问题在php5-dev包中.我猜你是从旧的linux版本的php5.2到php5.3.我做了同样的事情,当我设法安装php 5.3时,与php5-dev发生冲突.由于某种原因,它没有升级到新版本.Dunno为什么会这样,我不在乎,但这会使您的扩展使用较旧的API版本进行编译,而php ofc则使用较新的api版本.我为解决这个问题所做的是:
我删除了php5-dev
sudo apt-get remove php5-dev
,然后我跑去sudo apt-get autoremove
摆脱给我带来麻烦的剩菜,之后我再次安装了php5-dev.
sudo apt-get install php5-dev
.
完成后,我删除了我的memcache sudo pecl uninstall memcache
并再次安装它sudo pecl install memcache
.现在模块和php都有相同的api版本所以我立刻知道我已经解决了问题:)
希望能帮助到你.