我在用着 APC 缓存用户变量(使用apc_store / apc_fetch命令)。我还使用选项“apc.enable_cli = 1”为CLI启用了APC。但是,CLI的CLI版本似乎从Apache使用的版本访问不同的APC缓存。
是否可以将APC配置为对CLI和Web调用使用相同的缓存?
我在用着 APC 缓存用户变量(使用apc_store / apc_fetch命令)。我还使用选项“apc.enable_cli = 1”为CLI启用了APC。但是,CLI的CLI版本似乎从Apache使用的版本访问不同的APC缓存。
是否可以将APC配置为对CLI和Web调用使用相同的缓存?
不可能..唯一的方法来完成像你的要求是使用像memcacheD这样的东西。或运行您在网络服务器上运行所需的内容。什么运行的CLI无法通过带有cronjob的Web脚本运行?
不可能..唯一的方法来完成像你的要求是使用像memcacheD这样的东西。或运行您在网络服务器上运行所需的内容。什么运行的CLI无法通过带有cronjob的Web脚本运行?
你可以使用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 webserver,你可以在一个子进程中启动一个主cli,init apc,fork和加载/运行web服务器,并在另一个子进程中分叉并运行你的php cli脚本。有点粗暴,呵呵。 fork和require(),我认为apc缓存不会在exec()中存活