VPS侦探论坛

标题: 关于升级php到5.4.16后,memcache重新安装后启动出错! [打印本页]

作者: bmjp007    时间: 2013-7-2 22:48
标题: 关于升级php到5.4.16后,memcache重新安装后启动出错!
关于升级php到5.4.16后,memcache重新安装后启动出错!

错误信息是:
Starting php-fpm [02-Jul-2013 22:37:03] NOTICE: PHP message: PHP Warning:  PHP S
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
in Unknown on line 0
done
Starting MySQL


我对比了下前后php.ini,原来的是
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = "memcache.so"

升级后是:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"
extension = "memcache.so"

请问是不是把升级后的php.ini改为
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"
extension = "memcache.so"

这样改行不? 原因是什么?改了后如果可行有影响不?
作者: bmjp007    时间: 2013-7-2 22:49
改了后还是不行。

请军哥帮忙
作者: bmjp007    时间: 2013-7-2 23:36
以上问题应该就是论坛里id886提出的https://bbs.vpser.net/viewthread ... highlight=memcached


问题5      在有些脚本中 如 memcached.sh    未使用   rm -f   删除旧目录。  (不知其它脚本中是否还有)

这样就会导致   升级跨版本后,再安装,就会出现API问题。  


还有  这个  memcached.sh 里的   cp conf/memcached.php /home/wwwroot/memcached.php   也要改。

也要加个PHP版本错误时退时不执行。


如这贴中人家贴的错误:https://bbs.vpser.net/thread-9604-1-1.html

PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525


还有安装完 memcached  后,在 phpinfo 中找不到 memcache ,且  memcached.php 运行也空白。  
/etc/init.d/memcached start    启动正常。  停止也正常。
不知原因。
作者: licess    时间: 2013-7-3 09:27
你用的1.0还是0.9
作者: bmjp007    时间: 2013-7-3 11:43
1.0的有问题

0.9的升级都没有问题
作者: licess    时间: 2013-7-3 12:58
0.9的memcache安装不支持5.4,只有1.0支持
作者: bmjp007    时间: 2013-7-3 13:12
我说的是0.9没有问题。

现在不讨论0.9.

我们说的是1.0的问题。
lnmp1.0默认php是5.3.17

1.那么升级到5.3.26后,再执行memcache.sh安装,没有问题。
2.如果升级到5.4.16后,再执行memcache.sh安装。出现问题:
重新启动/root/lnmp restart 后:PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525

我对比了下0.9跟1.0中memcache.sh文件,其中多了:
echo "Install memcache php extension..."
wget -c http://soft.vpser.net/web/memcache/memcache-3.0.6.tgz
tar zxvf memcache-3.0.6.tgz
cd memcache-3.0.6/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../

cur_php_version=`/usr/local/php/bin/php -v`

if echo "$cur_php_version" | grep -q "5.2."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"\n#' /usr/local/php/etc/php.ini
elif echo "$cur_php_version" | grep -q "5.3."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"\nextension = "memcache.so"\n#' /usr/local/php/etc/php.ini
elif echo "$cur_php_version" | grep -q "5.4."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"\nextension = "memcache.so"\n#' /usr/local/php/etc/php.ini
fi

那么问题肯定是出在这里。
至于怎么改需要军哥你指点了。
作者: bmjp007    时间: 2013-7-3 14:30
已经解决问题了
目前升级到5.4.16后再安装memcache.sh
作者: bmjp007    时间: 2013-7-3 14:32
3.0.7 - Fixed bug #62589 - missing "$" in memcache.php
- Fix php_stream_cast() usage.
- fixes for windows build and php 5.4 compat

也就说memcache3.0.7起才支持php5.4.x




欢迎光临 VPS侦探论坛 (https://bbs.lnmp.com/) Powered by Discuz! X3.4