- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
最近有一台Linux服务器间隙的报错,Apache每过一段时间就会假死,web环境是LNMPA。
检查Apache日志error_log,发现错误如下:
[Thu Jul 28 15:21:45 2016] [notice] child pid 16842 exit signal Segmentation fault (11)
[Thu Jul 28 15:22:29 2016] [notice] child pid 16839 exit signal Segmentation fault (11)
[Thu Jul 28 15:22:40 2016] [notice] child pid 16994 exit signal Segmentation fault (11)
[Thu Jul 28 15:24:28 2016] [notice] child pid 17169 exit signal Segmentation fault (11)
zend_mm_heap corrupted
zend_mm_heap corrupted
zend_mm_heap corrupted
zend_mm_heap corrupted
这个时候,nginx是正常的,静态资源可以访问,绝大多数php页面也是可以访问的,但是一旦php页面需要调用底层命令的时候,就报错了,比如Laravel的生成配置缓存命令:
$exitCode1 = Artisan::call('config:cache', []);//重新生成配置缓存
$exitCode2 = Artisan::call('route:cache', []);//重新生成路由缓存
$exitCode3 = Artisan::call('optimize', []);//生成编译文件
此时Apache无法正常执行php页面。
网上搜搜,发现了stack overflow上的一篇POST: http://www.landui.com/questions/2247977/what-does-zend-mm-heap-corrupted-mean,里面提供了一个思路,导致这个问题的原因在于 opcache,只要把 opcache的cli方式关闭就可以了,打开php.ini:
opcache.enable_cli=0
售前咨询
售后咨询
备案咨询
二维码
TOP