如何让PHP在CLI和Web上调用时使用相同的APCcaching?

我正在使用APC来caching用户variables(使用apc_store / apc_fetch命令)。 我也启用了APC的CLI选项“apc.enable_cli = 1”。 但是,PHP的CLI版本似乎是从Apache使用的版本访问不同的APCcaching。

是否可以将APCconfiguration为同时使用CLI和Web调用的caching?

不可能..完成像你所要求的东西的唯一方法是使用类似于memcacheD的东西。 或者运行你需要通过你的网络服务器运行。 什么是运行CLI,你不能通过一个web脚本与cronjob运行?

你可以使用shm。 这项技术可以访问Unix共享内存。 你可以把一些变量放在shm中,然后在另一个scritp中,甚至用另外的语言编程,你可以得到共享变量。

shm_put_var和shm_get_var。

它比APC慢,但比memcached,redis等更快

我希望这会帮助你,我很抱歉我的英语….

调用你的CLI作为CGI /path-to/cgi-sys/php5.cgi /home/name/crons/engine.php

你需要一个用php编写的web服务器 – APC缓存只能由分叉的子进程共享。 如果你有一个php web服务器,你可以在一个子进程中启动一个主cli,init apc,fork和加载/运行web服务器,并在另一个fork中运行你的php cli脚本。 那种粗暴的,呵呵。 叉和require(),我不认为apc缓存将生存执行()