关于升级php到5.4.16后,memcache重新安装后启动出错!
关于升级php到5.4.16后,memcache重新安装后启动出错!错误信息是:
Starting php-fpm 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"
这样改行不? 原因是什么?改了后如果可行有影响不? 改了后还是不行。
请军哥帮忙 以上问题应该就是论坛里id886提出的https://bbs.vpser.net/viewthread.php?tid=9620&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 启动正常。停止也正常。
不知原因。 你用的1.0还是0.9 1.0的有问题
0.9的升级都没有问题 0.9的memcache安装不支持5.4,只有1.0支持 我说的是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
那么问题肯定是出在这里。
至于怎么改需要军哥你指点了。 已经解决问题了
目前升级到5.4.16后再安装memcache.sh 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
页:
[1]