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...