2014-07-04 5 views
1

APCu를 사용하려고하는데 최근에 모든 것을 다시 설치했지만 APCu가 작동하지 않는 것처럼 보입니다. 이것은 나에게 오류를 제공하지 않습니다 실행웹 서버에서 APCu가 작동하지 않습니다.

<?php 
    // Simple Person class 
    class Person { 
     private $name; 
     private $age; 

     public function setName($name) { 
      $this->name = $name; 
     } 

     public function setAge($age) { 
      $this->age = $age; 
     } 

     public function getName() { 
      return $this->name; 
     } 

     public function getAge() { 
      return $this->age; 
     } 
    } 

    // Check if Person object found from cache 
    if ($obj = apc_fetch('person')) { 
     echo "Person data from cache: ", "<br />"; 
     echo "Name: ", $obj->getName(), "<br />"; 
     echo "Age: ", $obj->getAge(), "<br />"; 
    } 
    else { 
     echo 'Person data not found from cache...saving', "<br />"; 
     $obj = new Person; 
     $obj->setName('Test Person'); 
     $obj->setAge(35); 
     apc_add('person', $obj, 3600); 
    } 
?> 

있지만 alwasy 말한다 : 나는 그것이 캐시를 쓸 수 있는지 테스트하기 위해 다음 스크립트를 사용하고

"사람 데이터를 찾을 수 없습니다 ..."하는 캐시가 예정대로 작동하지 않음을 나타냅니다. 내 php.ini 파일에서

나는이처럼 구성한 :

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20100525" 
extension=apcu.so 

[apcu] 

apc.enabled = 1 
apc.shm_size=1024M 
apc.max_file_size=10M 
apc.num_files_hint=20000 
apc.user_entries_hint=20000 

나는 모든하지만 여전히 행운을 재 컴파일했다.

최신 cpanel 버전을 실행 중입니다. phpinfo()도 apcu가 설치되어 있다고 말하고 CentOS에서 실행 중입니다.

답변

2

나를 위해이 작품 벌금은 이미 성공없이 스크립트의 여러 변종을 시도

<?php 
// Simple Person class 
class Person { 
    private $name; 
    private $age; 

    public function setName($name) { 
     $this->name = $name; 
    } 

    public function setAge($age) { 
     $this->age = $age; 
    } 

    public function getName() { 
     return $this->name; 
    } 

    public function getAge() { 
     return $this->age; 
    } 
} 

// Check if Person object found from cache 
$obj = new Person; 
    if (apc_fetch('person')) { 
     $obj = apc_fetch('person'); 
     echo "Person data from cache: ", "<br />"; 
     echo "Name: ", $obj->getName(), "<br />"; 
     echo "Age: ", $obj->getAge(), "<br />"; 
    } 
    else { 
     echo 'Person data not found from cache...saving', "<br />"; 
     $obj->setName('Test Person'); 
     $obj->setAge(35); 
     apc_add('person', $obj); 
    } 
?> 
+0

시도 할 수 있습니다. –

+0

그것은 캐시에서 사람 데이터, 이름 :하지만 그것은 나던 이름을 표시하지 않으며 심지어 나이에 시작하지 않습니다. 또한 APCu 정보는 여전히 아무 것도 캐시되지 않고 있음을 보여줍니다 (0 요청/초) –

+0

이제 귀하의 요구 사항에 맞지만이 샘플 만 사용 가능합니다 –