2012-08-09 80 views
5

我在Windows開發服務器上安裝了APC。啓用APC並重新啓動Apache後,我們的頁面不會加載。他們超時,我只是得到連接重置瀏覽器。 服務器上的其他腳本,如phpmyadmin也不會加載。啓用APC後頁面超時

這裏是我們的系統配置:

Windows 2003 Server 
Apache 2.2.22 
PHP Version 5.3.15 
APC Version 3.1.11 

檢查上apc.php我看到命中80%,錯過20%。

APC運行時設置

apc.cache_by_default 1 
apc.canonicalize 1 
apc.coredump_unmap 0 
apc.enable_cli 0 
apc.enabled 1 
apc.file_md 50 
apc.file_update_protection 2 
apc.filters '' 
apc.gc_ttl 3600 
apc.include_once_override 0 
apc.lazy_classes 0 
apc.lazy_functions 0 
apc.max_file_size 1M 
apc.num_files_hint 1000 
apc.preload_path '' 
apc.report_autofilter 0 
apc.rfc1867 0 
apc.rfc1867_freq 0 
apc.rfc1867_name APC_UPLOAD_PROGRESS 
apc.rfc1867_prefix upload_ 
apc.rfc1867_ttl 3600 
apc.serializer default 
apc.shm_segments 1 
apc.shm_size 32M 
apc.slam_defense 1 
apc.stat 1 
apc.stat_ctime 0 
apc.ttl 0 
apc.use_request_time 1 
apc.user_entries_hint 4096 
apc.user_ttl 0 
apc.write_lock 1 

我已經看到了名字,如.apc.a00532上指定的臨時文件夾中創建的文件,但他們有file size 0

我還檢查PHP錯誤日誌和我沒有看到任何東西那裏。

任何幫助非常感謝,在此先感謝。

編輯 我使用VC9編譯的PHP和我的apache是​​匹配從apache休息室編譯的VC9。我也嘗試過使用APC 3.1.9,也不顯示頁面。我運行的任何php腳本都會提供超時,除了apc.php本身,並且它顯示了我正在緩存的內容。

+1

您可能會在serverfault上看到更多操作。 – 2012-08-13 20:44:40

+0

我不想創建跨網站的副本,如果在這裏沒有得到一些想法可能會將其移到那裏。感謝您的建議。 – PoX 2012-08-14 14:36:12

+0

你沒有使用Zend Server嗎? – wesside 2012-08-20 13:51:41

回答

1

也許您使用的APC版本與您的PHP版本不匹配。
我應該做的第一件事是從命令行運行php -v並檢查錯誤。
請注意,APC 3.1.11版本仍處於測試階段;最新的穩定版本是3.1.9。
您可以從here下載APC預編譯的二進制版本。
選擇合適的APC版本(VC6/VC9 - 線程安全/非線程安全的),你應該禁用APC和開出「phpinfo()」頁面,然後查找選項「線程安全」和「配置命令「。
如果您已經從PHP site下載了PHP,5.3.15版本應該是VC9編譯的。
此版本不應與「apache.org」二進制文件一起使用,因爲您可以閱讀here,因此您還應該使用Apache VC9版本,可從Apache Lounge獲取。

+0

感謝您的信息。對於這個設置,我從你提到的源代碼中獲得了php VC9和apache VC9。我的Apache來自Apache Lounge。 我將編輯問題以提供這些信息。 – PoX 2012-08-17 13:02:38

+0

它作爲Apache模塊運行,並且在打開enable_cli選項後嘗試運行腳本。 它運行良好,並按預期給我輸出cli。 – PoX 2012-08-17 19:47:51

+0

是的,我檢查了添加到'open_basedir'的tmp文件夾,我也看到apc創建了'C:\ Program Files \ PHP \ temp \ apc.XXXXXX'文件,但它有0個文件大小。 我也讓它寫win \ temp和相同的結果。 – PoX 2012-08-17 20:17:52