- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
最近有一臺Linux服務(wù)器間隙的報錯,Apache每過一段時間就會假死,web環(huán)境是LNMPA。
檢查Apache日志error_log,發(fā)現(xiàn)錯誤如下:
[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是正常的,靜態(tài)資源可以訪問,絕大多數(shù)php頁面也是可以訪問的,但是一旦php頁面需要調(diào)用底層命令的時候,就報錯了,比如Laravel的生成配置緩存命令:
$exitCode1 = Artisan::call('config:cache', []);//重新生成配置緩存
$exitCode2 = Artisan::call('route:cache', []);//重新生成路由緩存
$exitCode3 = Artisan::call('optimize', []);//生成編譯文件
此時Apache無法正常執(zhí)行php頁面。
網(wǎng)上搜搜,發(fā)現(xiàn)了stack overflow上的一篇POST: http://www.tjdsmy.cn/questions/2247977/what-does-zend-mm-heap-corrupted-mean,里面提供了一個思路,導(dǎo)致這個問題的原因在于 opcache,只要把 opcache的cli方式關(guān)閉就可以了,打開php.ini:
opcache.enable_cli=0
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP