CLI와 웹에서 호출 할 때 PHP가 동일한 APC 캐시를 사용하도록하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/439262

문제

사용 중입니다 APC 사용자 변수를 캐시합니다 (APC_STORE/APC_FETCH 명령 포함). 또한 "apc.enable_cli = 1"옵션으로 CLI에 APC를 활성화했습니다. 그러나 PHP의 CLI 버전은 Apache가 사용하는 버전과 다른 APC 캐시에 액세스하는 것으로 보입니다.

CLI 및 웹 호출에 동일한 캐시를 사용하도록 APC를 구성 할 수 있습니까?

도움이 되었습니까?

해결책

불가능한 것 .. 당신의 요구와 같은 것을 성취하는 유일한 방법은 memcached와 같은 것을 사용하는 것입니다. 또는 웹 서버를 통해 실행하는 데 필요한 것을 실행하십시오. Cronjob으로 웹 스크립트를 통해 실행할 수없는 CLI를 실행하는 것은 무엇입니까?

다른 팁

shm을 사용할 수 있습니다. 이 기술은 UNIX 공유 메모리에 액세스하도록 빌려줍니다. SHM에 변수를 넣은 다음 다른 SCRITP에 다른 SCRITP에 넣을 수 있으며 다른 언어로 프로그래밍되어 공유 변수를 얻을 수 있습니다.

shm_put_var 및 shm_get_var.

APC보다 느리지 만 Memcached, Redis 등보다 빠릅니다.

도움이되기를 바랍니다. 영어로 죄송합니다 ....

cgi/path-to/cgi-sys/php5.cgi /home/name/crons/engine.php로 CLI를 호출하십시오

PHP로 작성된 웹 서버가 필요합니다. APC 캐시는 포크 아동 프로세스에서만 공유됩니다. PHP 웹 서버가있는 경우 한 어린이 프로세스에서 마스터 CLI, Init APC, Fork 및로드/로드/실행을 시작하고 Fork 및 PHP CLI 스크립트를 다른 곳에서 실행할 수 있습니다. 심한 해킹, 허. 포크 및 요구 사항 (), APC 캐시가 exec ()에서 살아남을 것이라고 생각하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top