
我有一個使用 Parallels/Plesk 的 VPS(11.0.9 更新 #22,最後更新於 2012 年 10 月 31 日上午 03:33 CentOS 6.3(最終版)x86_64)
我安裝了 apache (CGI/FastCGI) 並使用 nginx 作為反向代理。一切都運作良好。我安裝了 APC 進行緩存,但問題是正常運行時間始終為 0。它大約每 15 秒重新啟動一次。我檢查了所有地方,但找不到修復它的解決方案。
伺服器啟用了寬限重啟,但每 6 小時一次,這不會影響 APC 的正常運作時間。在 Google 中搜索,我發現這可能與 Apache 有關,它使用 FCGId 而不是 FastCGI 運行。 Plesk/Apache 使用此設定檔:usr/local/psa/admin/conf/templates/default/service/php_over_fastcgi.php 其內容為:
<IfModule mod_fcgid.c>
<Files ~ (\.php)>
SetHandler fcgid-script
FCGIWrapper <?php echo $VAR->server->webserver->apache->phpCgiBin ?> .p$
Options +ExecCGI
allow from all
</Files>
是這裡的問題還是其他地方的問題?我怎麼能修復這個問題以與 FastCGI 一起使用並使 APC 正常工作。我忘記指出,即使正常運作時間低於一分鐘,APC 的快取工作也相當出色(92% 是命中率)。
答案1
PHP 將死亡,然後當 PHP_FCGI_MAX_REQUESTS 被命中時,將產生一個新的 PHP。您可以透過以下方式調整該數字:
DefaultInitEnv PHP_FCGI_MAX_REQUESTS 5000
答案2
這可能是由於 Fcgi 終止應用程式造成的。根據您的負載(每小時請求數)它可以是 http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestsperprocess
或者http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgididletimeout(我覺得這個比較適合)
嘗試增加該值以達到效果。