您現在的位置: 365建站網 > 365學習 > zend opcache引起iis/Apache 不時掛掉 php-cgi.exe - FastCGI 進程意外退出

zend opcache引起iis/Apache 不時掛掉 php-cgi.exe - FastCGI 進程意外退出

文章來源:365jz.com     點擊數:757    更新時間:2018-06-24 13:30   參與評論

windows程序日志報錯如下: 

無法找到來自源 Zend OPcache 的事件 ID 487 的描述。本地計算機上未安裝引發此事件的組件,或者安裝已損壞??梢园惭b或修復本地計算機上的組件。 

6838d631g87c839b61ff3&690.jpg

詳細錯誤XML如下: 
- <Event xmlns="http://Schemas.microsoft.com/win/2004/08/events/event"> 


- <System
  <Provider Name="Zend OPcache" /> 
  <EventID Qualifiers="0">487</EventID
  <Level>2</Level
  <Task>0</Task
  <Keywords>0x80000000000000</Keywords
  <TimeCreated SystemTime="2016-03-21T02:10:19.000000000Z" /> 
  <EventRecordID>8122</EventRecordID
  <Channel>Application</Channel
  <Computer>WIN-3C32USMF062</Computer
  <Security /> 
  </System
- <EventData

  <Data>Unable to reattach to base address</Data
  <Data>試圖訪問無效的地址。</Data
  </EventData
  </Event

解決方法

修改PHP.ini  

opcache.mmap_base = 0x20000000  

官方給出的答案是 

在 Windows 平臺上共享內存段的基地址。 所有的 PHP 進程都將共享內存映射到同樣的地址空間。 使用此配置指令避免“無法重新附加到基地址”的錯誤。

1、可能解決方法一:

系統:windows 2008 r2 

環境:apache 2.4.9 (64)+php 5.5.14 (64) 
運行組件:所有運行組件均以安裝,且均為64位版 
癥狀:opcache 默認配置開啟,運行大概10-30分鐘,apache 假死崩潰,系統日志可看到以下錯誤, 


1,無法找到來自源 Zend OPcache 的事件 ID 487 的描述。本地計算機上未安裝引發此事件的組件,或者安裝已損壞??梢园惭b或修復本地計算機上的組件。 
如果該事件產生于另一臺計算機,則必須在該事件中保存顯示信息。 
以下是包含在事件中的信息: 
Unable to reattach to base address 
試圖訪問無效的地址。 
2,錯誤應用程序名稱: httpd.exe,版本: 2.4.9.0,時間戳: 0x53258cd5 
錯誤模塊名稱: php5ts.dll,版本: 5.5.12.0,時間戳: 0x53614545 
異常代碼: 0xc0000005 
錯誤偏移量: 0x000000000001ed3a 
錯誤進程 ID: 0x46c 
錯誤應用程序啟動時間: 0x01cf8e08bd43da8e 
錯誤應用程序路徑: D:\upupw\Apache2\bin\httpd.exe 
錯誤模塊路徑: D:\upupw\Apache2\bin\php5ts.dll 
報告 ID: a356f798-f9fe-11e3-a5ea-902b346c2007 


官方給的解決方案是 
修改php.ini 里opcache 配置 
opcache.mmap_base    默認值為空 


在 Windows 平臺上共享內存段的基地址。 所有的 PHP 進程都將共享內存映射到同樣的地址空間。 使用此配置指令避免“無法重新附加到基地址”的錯誤。實驗錯誤,沒解決。這個問題,我提交過幾次給論壇,火鍋也積極解決了,但都沒解決. 


無意中從國外1個網站復制了解決方式,opcache.mmap_base = 0x20000000 ,經過在服務器上穩定運行了24+小時。日均pv 1.3W,沒有出現假死,算是完美了。這個問題我也準備提交給火鍋,默認的配置下是沒有這段配置的。 

2、可能解決方法二:

PHP 擴展 OPcache 針對 Moodle 的配置要求

字體大小: 小 中 大

    從 Moodle 2.6 開始,PHP 的擴展 OPcache 就被強烈推薦使用。OPcache 可以提升 Moodle 網站的性能,并降低內存的消耗。PHP 5.5 開始包含了 OPcache 擴展。微軟今年已經推出了 Microsoft Drivers 3.2 for PHP for SQL Server,能夠支持 PHP 5.6。我終于可以把 PHP 版本升級到 5.6 了,那順理成章也要配置啟用 OPcache 了。

    首先在 php.ini 中要添加擴展的文件名。

[PHP_OPCACHE] 
zend_extension
=php_opcache.dll

    然后根據 Moodle 官網的文檔配置 OPcache 的參數項。

[opcache] 
opcache.enable 
= 1 
opcache.memory_consumption 
= 128 
opcache.max_accelerated_files 
= 4000 
opcache.revalidate_freq 
= 60 

; Moodle 要求的設置 
opcache.use_cwd = 1 
opcache.validate_timestamps 
= 1 
opcache.save_comments 
= 1 
opcache.enable_file_override 
= 0 

; 如果 Moodle 中出現某些問題,可嘗試用以下配置解決
;
opcache.revalidate_path = 1 ; 可以修復 include 路徑的問題 
;
opcache.mmap_base = 0x20000000 ; (僅針對 Windows) 修復 OPcache 出現事件 id 487 的崩潰

; Moodle 2.6 及以上版本的實驗用途 
;
opcache.fast_shutdown = 1 ; 使用快速停止續發事件
;
opcache.enable_cli = 1 ; 加速 CLI cron 
;
opcache.load_comments = 0 ; 可減少內存使用,可能與插件及其它應用不兼容

    對于 max_accelerated_files 參數的說明:

    這是 OPcache 哈希表中可存儲的腳本文件數量的上限。實際的取值是在質數集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一個比設置值大的質數。設置值的取值范圍是 200 到 100000 之間。Moodle 中建議設置為 4000,實際值就是 7963。Moodle 中核心的 php 文件數量不會超過這個數字,但是如果增加了插件或者做了二次開發,緩存的 php 文件數量大大超過 7963,那就建議把 max_accelerated_files 設置為 8000。


如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇


發表評論 (757人查看,0條評論)
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
用戶名: 驗證碼: 點擊我更換圖片
最新評論
------分隔線----------------------------
自拍偷拍福力视频,偷拍国际精品,麻豆一区福利电影,国产网红视频午夜福利,se视频大全,久久国产AV影院 中国老太性行为xxxxx| 乱人伦中文视频在线| 曰韩在线不卡视频| 永久黄网站色视频免费app| 色综合av社区男人的天堂| 国产成人精品一、二区| 亚洲中文久久精品无码| 一本道棕色综合网| a√无码亚洲不卡播放网站| 男女两人下尺度床视频| 中文字幕第一页| 另类人妻校园卡通技巧第十页| 重庆护士门| 精品国产自在在线午夜精品| www.porn.com| 一边吃乳一手摸下面| 日本动漫爆乳h动漫无遮挡| 男人和女人做人爱视频| 美女趴跪式从后面进去动态图| 丰满巨肥大屁股bbw| 特黄大片好看视频| 欧美性稚交6-12| 当着新郎面被别人开了苞| 清纯小美女主播流白浆| 可以触碰你的深处吗开车视频| 人妇系列200| 巴巴在线电影| 我和么公的秘密| 免费追剧大全电视剧网站| 韩国电影妈妈的朋友| 学生强伦姧老师在线观看国产| http://www.kilicmarketleri.com