`
月影无痕
  • 浏览: 1003288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php 5.4 APC invalid pointer报错的解决办法

 
阅读更多

 

为什么要使用APC ? 经过一些压力测试(使用apache ab工具),得出以下结果:

 

1. 使用ab发起相同请求参数,启用APC后,服务器负载降低一半,也就是说启用APC后,服务器负载能力提升约2倍。

 

2. 启用APC后,脚本执行速度约有20%-30%提升,这也是使用ab的测试报告总结。

 

3. 我曾经在生产环境使用第三方的缓存,如xcache, eAccelerator, 结果很不稳定,导致php-fpm负载变得很高(也可能是我参数配置不当引起) 

 

4. APC毕竟是PHP官方的扩展,对其更信赖一些。

 

5. 后来,凡是安装PHP,我必定会安装APC扩展。就没有尝试过别的缓存模块(也是一朝被蛇咬,十年怕井绳的心理在作怪)

 

 

但这次我在使用较新的 php 5.4.14, APC 3.1.9时,遇到一些问题

OS : RHEL 5.6 x64

PHP : 5.4.14

APC:  3.1.9

 

使用fpm方式编译,APC以PECL扩展方式安装,启动php-fpm进程时,报错:

restarting /usr/local/php/sbin/php-fpm ...
*** glibc detected *** /usr/local/php/sbin/php-fpm: free(): invalid pointer: 0xb74b0910 ***
======= Backtrace: =========
/lib/libc.so.6[0x3f47595]
/lib/libc.so.6(cfree+0x59)[0x3f479d9]
/usr/local/php/sbin/php-fpm(destroy_zend_class+0x202)[0x83fd8f2]
/usr/local/php/sbin/php-fpm(zend_hash_clean+0x66)[0x8413566]
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so(apc_interned_strings_shutdown+0x35)[0xabc605]
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so(apc_module_shutdown+0x14d)[0xab3c2d]
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so[0xaaa65f]
/usr/local/php/sbin/php-fpm[0x840c3b2]
/usr/local/php/sbin/php-fpm[0x8413018]
/usr/local/php/sbin/php-fpm(zend_hash_graceful_reverse_destroy+0x18)[0x8413258]
/usr/local/php/sbin/php-fpm(zend_destroy_modules+0x2c)[0x840d6cc]
/usr/local/php/sbin/php-fpm[0x8407797]
/usr/local/php/sbin/php-fpm(php_module_shutdown+0x2a)[0x83ab5da]
/usr/local/php/sbin/php-fpm[0x84adf2b]
/usr/local/php/sbin/php-fpm[0x84a5534]
/usr/local/php/sbin/php-fpm[0x84b3930]
/usr/local/php/sbin/php-fpm[0x84a48d7]
/usr/local/php/sbin/php-fpm[0x84abea9]
/lib/libc.so.6(__libc_start_main+0xdc)[0x3ef3e9c]
/usr/local/php/sbin/php-fpm(realloc+0x9d)[0x806ec81]

解决办法:使用APC 3.1.13,但这个版本的APC还是beta版本,在生产环境中是否稳定,还需要观察

下载地址:http://pecl.php.net/package/APC/3.1.13

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics