>백엔드 개발 >PHP 튜토리얼 >win7에서 PHP 확장 xcache를 추가하고 설정하는 방법에 대한 자세한 튜토리얼

win7에서 PHP 확장 xcache를 추가하고 설정하는 방법에 대한 자세한 튜토리얼

WBOY
WBOY원래의
2016-07-25 08:52:291105검색
win7 시스템에서 PHP용 xcache 확장을 추가하고 설정하는 방법은 xcache 설치 및 구성 튜토리얼, xcache.slots 캐시의 파일/변수 해시 참조 값을 실제 상황에 맞게 설정할 수 있으며, 필요한 친구는 참고할 수 있습니다. 모든 PHP5 범위에서 지원되는 xcache 3.2.0, 공식 웹사이트: http://xcache.lighttpd.net/

영어가 좋지 않다면 오른쪽을 클릭하여 중국어로 언어를 전환할 수 있습니다.

먼저 최신 버전을 다운로드하세요. http://xcache.lighttpd.net/pub/releases/3.2.0/ 올바른 버전을 선택하세요.

다운로드하여 압축을 풀고 php 아래의 ext 디렉토리에 넣은 다음 php.ini를 열고 확장자 = php_xcache.dll을 추가하세요

압축 패키지에는 xcache의 php.ini 중국어 버전 데모와 xcache 및 정보를 볼 수 있는 프로그램도 포함되어 있습니다.

xcache.admin.pass는 md5로 암호화되어 저장된다는 점에 유의하세요

xcache.count는 CPU 수에 따라 설정할 수 있으며 기본값은 1입니다

xcache.slots에 캐시된 파일/변수 해시 참조 값은 실제 상황에 따라 설정 가능

완료되면 Apache 서비스를 다시 시작합니다.

;; 이 파일은 단지 예시일 뿐이므로 적용하려면 php.ini에 설정하세요. [xcache-공통] ;; 윈도우가 아닌 예: 확장자=xcache.so ;; 윈도우 시스템 예: ; 확장자 = php_xcache.dll [xcache.admin] xcache.admin.enable_auth = 켜짐 xcache.admin.user = "음" ; xcache.admin.pass = md5($귀하의 비밀번호) ; $your_password를 사용하여 로그인하세요. 비밀번호를 md5로 암호화하고 입력하세요. xcache.admin.pass = "" [엑스캐시] ; 여기에 있는 대부분의 옵션은 ini에서만 수정할 수 있습니다. 별도로 명시하지 않는 한 여기에 나열된 기본값은 다음과 같습니다. ; 기본 메모리 공유 구현 솔루션을 선택합니다. xcache.shm_scheme = "mmap" ; 비활성화됨: xcache.size=0 ; 활성화: xcache.size=64m 등(모든 값 >0) 또한 시스템 mmap 상한에 주의하십시오. xcache.size = 60m ; CPU 수로 설정하는 것이 좋습니다(cat /proc/cpuinfo |grep -c processor). xcache.count = 1 ; 이는 단지 해시 참조 값일 뿐이며 실제 저장 항목(php 스크립트/변수)은 이 숫자를 초과할 수 있습니다. xcache.slots = 8k ; 캐시된 항목의 ttl, 0=영구 xcache.ttl = 0 ; 만료된 항목을 검사하는 시간 간격, 0=검사 안함, 기타 값은 초 단위임 xcache.gc_interval = 0 ; 위와 동일, 변수 캐시 설정에만 해당 xcache.var_size = 4m xcache.var_count = 1 xcache.var_slots = 8k ; xcache_*() 함수의 ttl 매개변수 기본값 xcache.var_ttl = 0 ; xcache_*() 함수 ttl 매개변수를 이 설정 이하로 제한합니다. xcache.var_maxttl = 0 xcache.var_gc_interval = 300 ; /dev/zero일 때는 유효하지 않습니다. xcache.readonly_protection = 꺼짐 ; *nix 시스템의 경우 xcache.mmap_path는 디렉터리가 아닌 파일 경로입니다(자동으로 생성/덮어쓰기됨). ; 읽기 전용 보호를 활성화하려면 "/dev/*" 사용을 피하고 "/tmp/xcache"와 같은 것을 사용해야 합니다. ; 다른 PHP 프로세스 그룹은 동일한 /tmp/xcache를 공유하지 않습니다. ; win32 시스템의 경우 xcache.mmap_path=파일 경로가 아닌 익명 맵 이름입니다. 다른 소프트웨어와의 충돌을 피하기 위해 xcache라는 단어를 사용하는 것이 좋습니다. xcache.mmap_path = "/dev/zero" ; xcache 예외가 발생할 때만 유용합니다. 비어 있거나(비활성화됨) "/tmp/phpcore/"와 유사하게 설정하십시오(php로 파일에 쓸 수 있음). xcache.coredump_directory = "" ; Windows에만 해당됩니다. xcache 개발자가 달리 지시하지 않는 한 기본값을 유지하세요. xcache.coredump_type = 0 ; 예외가 발생하면 자동으로 캐싱을 비활성화합니다. xcache.disable_on_crash = 꺼짐 ; 실험적 기능 활성화(있는 경우) xcache.experimental=꺼짐 ; 다음은 변경할 수 있는 요청 수준 설정입니다. ini_set, .htaccess 등이 될 수 있습니다. xcache.cacher = 켜짐 xcache.stat = 켜짐 xcache.optimizer = 꺼짐 [xcache.coverager] ; 이 기능을 켜면 작동 성능이 저하됩니다. ; 이 기능은 xcache.coverager == on && xcache.coveragedump_directory == "null 값이 아닌 경우"에만 활성화됩니다. ; 요청별 설정은 ini_set, .htaccess 등일 수 있습니다. ; xcache_coverager_start/stop/get/clean()과 같은 코드 프로세스 적용 범위 정보 수집 및 기능을 활성화합니다. xcache.coverager = 꺼짐 xcache.coverager_autostart = 켜짐 ; PHP ini 파일 내에서만 설정됩니다. ; 커버리지 뷰어 스크립트가 이 디렉토리를 읽을 수 있는지 확인하십시오(open_basedir 참고). xcache.coveragedump_directory = ""

그런 다음 phpinfo를 확인하여 xcache가 적용되었는지 확인하세요. 아래와 같이

이제 웹 게시 디렉토리에 xcache와 같은 새 디렉토리를 생성하고 lib 및 htdocs 디렉토리를 내부의 공식 압축 패키지에 넣습니다.

브라우저에 http://127.0.0.1/xcache/htdocs/를 입력하면 로그인 계정 및 비밀번호 대화상자가 나타납니다. 입력 후 xcache 환경 및 구성, 변수 등을 확인할 수 있습니다. .

但實際上xcache不但能緩存變量,而且能緩存php文件,如果你的php環境中配置了xcache擴展後,它會自動將每次給你訪問的php文件都自動緩存。無需再額外的修改程式碼,十分的方便快捷,如下圖的我只訪問了phpmyadmin,xcache官方的程式包就可以偵測到phpmyadmin的cache列表。

程式碼很簡單,帶有單例模式,可以直接在應用程式環境中使用,程式碼在php5.5.12中完美測試通過。

$c =new cache_xcache(); $c->set('key', 'aaaa123'); echo $c->get('key'); cache_xcache::getinstance()->set('key1', '999999999999999'); echo cache_xcache::getinstance()->get('key1'); /**------------------------------代碼開始------------------ ----------------**/ class cache_xcache { /*** 單例模式實例化本類 * * @var object*/ protected static $_instance = null; /*** 預設的快取策略 * * @var array*/ protected $_defaultoptions = array('expire' => 900); /*** 建構方法 * * @access public * @return boolean*/ public function __construct() { //分析xcache擴充模組 if (!extension_loaded('xcache')) { die('the xcache extension to be loaded before use!'); } return true; } /*** 寫入快取 * * @access public * * @param string $key 快取key * @param mixted $value 快取值 * @param integer $expire 生存週期 * * @return boolean*/ public function set($key, $value, $expire = null) { //參數分析 if (!$key) { return false; } $expire = is_null($expire) ? $this->_defaultoptions['expire'] : $expire; return xcache_set($key, $value, $expire); } /*** 讀取緩存,失敗或緩存撒失效時返回 false * * @access public * * @param string $key 快取key * * @return mixted*/ public function get($key) { //參數分析 if (!$key) { return false; } return xcache_isset($key) ? xcache_get($key) : false; } /*** 快取一個變數到資料存儲 * * @access public * * @param string $key 資料key * @param mixed $value 資料值 * @param int $expire 快取時間(秒) * * @return boolean*/ public function add($key, $value, $expire = null) { //參數分析 if (!$key) { return false; } $expire = is_null($expire) ? $this->_defaultoptions['expire'] : $expire; return !xcache_isset($key) ? $this->set($key,$value,$expire) : false; } /*** 刪除指定的快取 * * @access public * * @param string $key 快取key * * @return boolean*/ public function delete($key) { //參數分析 if (!$key) { return false; } return xcache_unset($key); } /*** 清空全部快取變數 * * @access public * @return boolean*/ public function clear() { return xcache_clear_cache(xc_type_var, 0); } /*** 單例模式 * * 用於本類別的單例模式(singleton)實例化 * * @access public * @return object*/ public static function getinstance() { if (!self::$_instance) { self::$_instance = new self(); } return self::$_instance; } }


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.