我試圖通過Uniform Server WAMP包(Apache版本2.4.20,PHP版本7.0.8)自己託管一些網頁,其中一個是簡單的Bootsrap投資組合另一個是使用WooCommerce和其他插件的基於WordPress的在線商店。WordPress Apache VirtualAlloc和VirtualFree失敗,PHP內存不足
有時我的WordPress基於網站停止工作,直到我重新啓動Apache服務。我覺得充滿了這些錯誤主要Apache日誌:
VirtualAlloc() failed: [0x00000008] Not enough storage is available to process this command. VirtualFree() failed: [0x000001e7] Attempt to access invalid address.
而且我店Apache的錯誤日誌充滿了這些:
[Tue Aug 23 14:49:59.357235 2016] [:error] [pid 11300:tid 1768] [client 88.119.96.56:52269] PHP Fatal error: Out of memory (allocated 2097152) (tried to allocate 4096 bytes) in D:\Software\UniServerZ\vhosts\***\wp-includes\pomo\mo.php on line 276, referer: http://***/wp-admin/edit.php?post_type=shop_order
線不同至268,270和276,並在mo.php他們期待像這樣:
$entry = new Translation_Entry(); // 268
...
$parts = explode(chr(4), $original); // 270
...
$parts = explode(chr(0), $original); // 276
整個源代碼可以找到here。
與此同時,我的投資組合頁面沒有問題。
我增加memory_limit的在php.ini中至2048MB,增加define('WP_MEMORY_LIMIT', '256M');
和define('WP_MAX_MEMORY_LIMIT', '512M');
到的wp-config.php文件,但一週仍至少兩次我的網站不能訪問和日誌充滿上述消息。
我的網站不會產生太多的流量,服務器有16GB的RAM和半空的512GB SSD,請幫我理解或找出是什麼原因造成的問題,因爲當前日誌對我來說很少。
更新1
我發現上面所有的VirtualAlloc一個有趣的線和VirtualFree失敗:
[Tue Aug 23 21:02:40.298272 2016] [:error] [pid 504:tid 1836] [client 191.96.249.54:36032] script 'D:/Software/UniServerZ/www/xmlrpc.php' not found or unable to stat
貌似我加入了這行黑客行爲,禁用xmlprc的受害者。 htaccess文件:
<Files "xmlrpc.php">
Order Allow,Deny
Deny from all
</Files>
希望這有助於。
更新2 - 幾天後
看起來問題解決了,不時地我發現客戶端通過服務器配置錯誤否認,但網站不再失敗。
更新3 - 幾個星期後
的VirtualAlloc()和VirtualFree()失敗回來,沒有任何可疑的腳本請求,日誌只是充滿提到的失敗,我的店數有一堆提到了的內存錯誤。是否有可能如何使Apache錯誤更詳細/詳細,以找出哪些命令會觸發沒有足夠的存儲錯誤,或試圖訪問哪個無效地址?
更新4 - 幾個月後
經過正規的網站使用的一段時間,然後重新啓動Apache的不時錯誤就停了,我懷疑一些常用的插件已經更新,現在的內存沒有按沒有泄漏,一切正常,直到下一個錯誤...
我有這個確切的問題。我能想到的唯一的事情就是Xamppp是32位的,所以無法爲生產站點尋址儘可能多的內存。 –