程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Win下如何安裝PHP的APC拓展

Win下如何安裝PHP的APC拓展

編輯:PHP綜合
APC簡介
APC(Alternative PHP Cache)是一個PHP緩存。它在內存中存儲PHP頁面並且減少了硬盤的I/O。這對於性能的提升十分明顯。你甚至可以在CPU使用率下降50%的情況下提升系統50%的性能。

windows下安裝PHP的APC拓展
注意:你不能在一天服務器上同時安裝APC和Zend Optimiser,二者只能選其一。
按照下面的方法安裝PHP的APC拓展。
下載正確的版本
我是用的PHP版本是5.3.10
注意:確定你所下載的APC拓展版本對應了你的PHP版本。
設置php.ini
編輯php.ini文件,向其中的拓展區域部分添加如下代碼
extension = php_apc.dll
重啟服務器,使用phpinfo查看是否成功安裝
phpinfo();

phpinfo查看apc拓展是否安裝成功
查看可用的內存
創建一個php文件apcmeminfo.php
print_r(apc_sma_info());
//由緩存使用的內存數量使用這個公式來計算:
total_memory = apc.shm_segments * apc.shm_size
在這個例子中,可用的內存大約32 Mb。通常,如果我們需要在我們的緩存中超過32 Mb,我們應該增加APC使用的分段數量。然而,這可以導致web服務器錯誤,因此最好是增加片斷的大小。我們應該逐步為緩存增加可用的總量,以避免內存的流失。
默認的APC如下:
復制代碼 代碼如下:
apc.cache_by_default = On
apc.enable_cli = Off
apc.enabled = On
apc.file_update_protection = 2
apc.filters =
apc.gc_ttl = 3600
apc.include_once_override = Off
apc.max_file_size = 1M
apc.num_files_hint = 1000
apc.optimization = Off
apc.report_autofilter = Off
apc.shm_segments = 1
apc.shm_size = 30
apc.slam_defense = 0
apc.stat = On
apc.ttl = 0
apc.user_entries_hint = 100
apc.user_ttl = 0
apc.write_lock = On

關於APC完整的參數設置的解釋,請查閱:http://www.php.net/apc。
下面是一個php.ini中的一個APC塊。請將它們粘貼進你的php.ini文件中:
復制代碼 代碼如下:
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64
apc.max_file_size = 10M
apc.stat=1

剩余其它的設置將會使用默認值。
設置臨時目錄
APC需要一個臨時目錄來存儲文件。它會嘗試在windows的臨時目錄緩存文件,事先請給臨時目錄寫的權限。
監控和調優緩存



監控和調優apc緩存
APC源包含一個php腳本,該腳本對於監控和調優性能的緩存是很有用的。
1, 下載APC監控文件:http://pecl.php.net/package/apc
2, 壓縮包中的apc.php文件顯示APC監控信息。
3, 運行這個文件,你會看到一個圖形顯示你的緩存一些統計數據。
4, 調優緩存,查看General Cache Information and Detailed Memory Usage and Fragmentation sections(總體緩存信息和詳細的內存使用以及碎片部分)。
5, 監視Cache Full Count和碎片百分比,如果Cache Full Count大於0,表示緩存已滿並且頻繁讀寫,因為沒有足夠的內存被分配。增加apc.shm_size可解決問題。
6, 碎片百分比應該是0%,但是隨著內存頻繁的讀寫,其值會上漲。
apc.php的安全
注意apc.php的安全,應該使用安全認證的方式來控制apc.php的信息輸出,比如:
復制代碼 代碼如下:
// Moodle user Authentication
require_once("../config.php");
require_once($CFG--->libdir.'/adminlib.php');
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID));
// Disable APC Auth(APC 的安全認證)
defaults('USE_AUTHENTICATION',0);
//....
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved