Win下安裝PHP的APC拓展

來源:互聯網
上載者:User

  APC簡介

  APC(Alternative PHP Cache)是一個PHP緩衝。它在記憶體中儲存PHP頁面並且減少了硬碟的I/O。這對於效能的提升十分明顯。你甚至可以在CPU使用率下降50%的情況下提升系統50%的效能。

  這篇教程我們會告訴大家如何在windows上安裝APC。我已經在windows server 2003上成功測試。當然,在你也可以使用windows xp做為測試伺服器。

  windows下安裝PHP的APC拓展

  注意:你不能在一天伺服器上同時安裝APC和Zend Optimiser,二者只能選其一。

  按照下面的方法安裝PHP的APC拓展。

  下載正確的版本

  我是用的PHP版本是5.2.6,附上下載地址:php_apc_dll for php5_2_6

  注意:確定你所下載的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);

  //....



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.