php5 4 36中APC與APCu的對比與感覺

2021-06-28 04:33:13 字數 3202 閱讀 2575

apc全稱alternative php cache,可選php快取,包括opcache及使用者變數快取。

apcu僅包含使用者變數快取。

近段時間把伺服器php從5.2.17公升級到了5.4.36,apache也由2.2.22公升級到了2.4.10,之前寫的**中使用了memcache、apc、zend optimization擴充套件,因此,想把整套都遷移到新的環境下。經過一段時間的實驗,最終使用了php ts 5.4 版本,主要是為了使用isapi安裝方式,而未使用推薦的fastcgi。原因下面有敘述。

vc12 為vc2013,vc11為vc2012。

apc遇到新問題了,最新的apc  已經取消了5.2的支援,切已有一年多未更新版本了,看樣子未來對於高版本的php支援也會成問題了,因此需要尋找新的方案。

後來發現,5.4下很多人用了這個 ,據說是官方新的推薦做法,不過經確認僅僅只有user caching,僅僅支援使用者快取,管理工具apc.php也有所變化。且無需配置,比apc配置簡單了許多。

再次,zend optimization中也取消了5.2以上的支援,最新叫zend guard且只支援nts版本的php,只能使用fastcgi方式,支援5.3 5.4以上,也取消了5.2的支援。我想使用ts版本的php,因為在試用過程中發現,zend guard好像純粹是為了解碼新的加密**了。可能是因為我系統的問題,導致fastcgi一直僵死,出現不定時的卡死,程序中發現很多的php-cgi.exe程序。所以後來為了解決問題,使用了新的推薦的opcache擴充套件,同樣是官方支援php5.3、php5.4、 php5.5,這是純粹的opcache。位址

需要php.ini中配置

[opcache]

zend_extension = d:/wamp/php/ext/php_opcache.dll

opcache.enable=1

opcache.memory_consumption = 128

opcache.interned_strings_buffer = 8

opcache.max_accelerated_files = 4000

opcache.revalidate_freq = 60

opcache.fast_shutdown = 1

opcache.enable_cli = 1

apcu預設自動配置情況下(通過apc.php檢視):

apc.coredump_unmap

0apc.enable_cli

0apc.enabled

1apc.entries_hint

4096

apc.gc_ttl

3600

apc.preload_path

apc.rfc1867

0apc.rfc1867_freq

0apc.rfc1867_name

apc_upload_progress

apc.rfc1867_prefix

upload_

apc.rfc1867_ttl

3600

apc.serializer

phpapc.shm_segments

1apc.shm_size

32mapc.slam_defense

1apc.smart

0apc.ttl

0apc.use_request_time

1apc.writable

/tmp

apc執行期的設定(通過apc.php檢視)

[apc]

apc.enabled = on

apc.shm_segments = 1

apc.shm_size = 16m

apc.user_entries_hint = 0

apc.user_ttl = 0

apc.cache_by_default = off

apc.enable_cli = off

apc.ttl = 0

apc.gc_ttl = 3600

apc.max_file_size = 1m

;apc.mmap_file_mask =

apc.num_files_hint = 0

apc.optimization = 0

apc.report_autofilter = off

apc.stat = off

apc.write_lock = off

apc.rfc1867 = off

apc.canonicalize = 0

apc.use_request_time = 0

apc.filters = ""

apc.slam_defense = off

apc.cache_by_default

apc.canonicalize

0apc.coredump_unmap

0apc.enable_cli

apc.enabled

1apc.file_md5

0apc.file_update_protection

2apc.filters

apc.gc_ttl

3600

apc.include_once_override

0apc.lazy_classes

0apc.lazy_functions

0apc.max_file_size

1mapc.num_files_hint

0apc.preload_path

apc.report_autofilter

apc.rfc1867

apc.rfc1867_freq

0apc.rfc1867_name

apc_upload_progress

apc.rfc1867_prefix

upload_

apc.rfc1867_ttl

3600

apc.serializer

default

apc.shm_segments

1apc.shm_size

16mapc.shm_strings_buffer

4mapc.slam_defense

apc.stat

apc.stat_ctime

0apc.ttl

0apc.use_request_time

0apc.user_entries_hint

0apc.user_ttl

0apc.write_lock

PHP安裝APC擴充套件

2.將安裝包放入使用者目錄tar資料夾下 3.檢視tar資料夾下剛剛放進來的apc 3.1.13.tgz 4.對apc 3.1.13.tgz進行解壓縮 命令 tar zxvf apc 3.1.13.tgz 5.解壓縮完成後,切換路徑到剛剛解壓的資料夾下 命令 cd apc 3.1.13 6.命令 u...

php中apc快取使用示例

apc全稱alternative php cache,可以快取php的原始碼檔案,也可以快取使用者資料,下面我們就安裝一下他,看看如何查詢快取 修改快取 刪除快取等功能 記的以前php檔案上傳到伺服器時需要先用zend guard加密下,有了apc就不用了。從維基百科上看到的訊息,apc將被內建在p...

php中apc快取使用示例

記的以前php檔案上傳到伺服器時需要先用zend guard加密下,有了apc就不用了。從維基百科上看到的訊息,apc將被內建在php6中,所以apc還是值的學習下的。1 安裝擴充套件 在ubuntu 12.04可以直接通過apt get install php apc安裝apc擴充套件。關於win...