php apc 失效时间,APC版本问题导致PHP出错

前段时间更换了新服务器,把之前的网站全部搬过来,可是上海校友会的论坛和ecshop的商城老出错,查看error_log,基本都是这个提示:

PHP Warning: mysql_fetch_array() expects parameter 2 to be long, string given in /data/web/koven/include/inc_function.php on line 57

PHP Warning: mysql_fetch_array(): The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH in /data/web/koven/include/inc_function.php on line 57

可是我查看了这个函数

function fetch_array($query, $result_type = MYSQL_ASSOC) {

return mysql_fetch_array($query, $result_type);

}

没发现什么问题啊,但是改掉就没事了。

function fetch_array($query, $result_type = MYSQL_ASSOC) {

return mysql_fetch_array($query/*, $result_type*/);

}

后来也就没怎么管,能正常运行就好了,但是昨天在把blog程序恢复为以前那套时,有的问题实在不能忍受,因此决定寻根究底把问题解决掉,在测试过程中,开始怀疑是PHP版本的问题,便下了最新版的PHP-5.3.6来编译安装,结果问题依旧。后来把/etc/php.ini里面的extension=apc.so注释掉,居然没事了。因此便怀疑是APC的问题,于是便换了eaccelerator。问题虽然是解决了,但是发现好像eaccelerator没有产生预编译功能啊,便改用xcache,怎么说也是国人开发的啊,结果make的时候一堆error,于是又想用返APC,原来才发现我系统装的是3.0.19版的,最新版的是 3.1.9版,下了新版安装后,问题解决!

附APC安装脚本:

wget http://pecl.php.net/get/APC-3.1.9.tgz

apt-get -y install autoconf

/usr/local/php/bin/phpize

./configure --prefix=/usr/local/apc \

--with-php-config=/usr/local/php/bin/php-config \

--with-apxs=/usr/local/apache2/bin/apxs \

--enable-apc \

--enable-apc-mmap \

--sysconfdir=/etc

make & make install

编辑/etc/php.ini,添加如下内容:

extension=apc.so

apc.enabled=1

apc.shm_segments=1

apc.shm_size=128

apc.ttl=7200

apc.user_ttl=7200

apc.num_files_hint=1024

apc.mmap_file_mask=/tmp/apc.XXXXXX

apc.enable_cli=1

此文的目的在于能给遇到相同问题的朋友提供帮助,转载请注明来自乌秋博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值