2

如果我想支持 PHP OpCode Caches,我应该避免哪些事情?静电电话是邪恶的吗?__autoload 呢?

4

2 回答 2

6

对于我在过去 3 年半中工作的每个基于 PHP 的 Web 应用程序,我一直使用APC作为操作码缓存,在我使用的所有服务器上......

...而且在开发过程中,我从来不需要采取任何“特别”的措施:在每种情况下,是否使用 APC 都是透明的,唯一的区别在于性能。

例如,我从来没有遇到过静态调用和自动加载的问题——也没有其他任何问题(而且我使用过几个不同的框架和 OSS 应用程序)

不过,一个好习惯:如果你打算在你的生产服务器上使用 APC,也可以在你的开发机器上使用它,以防万一——但是启用这些apc.stat选项,这样你的生活就不会因为操作码缓存机制而变得复杂。

于 2010-01-06T11:11:22.683 回答
1

操作码缓存用于缓存脚本的编译版本。Zend 引擎在运行脚本之前总是将 PHP 脚本编译为更快的操作码,缓存将保存这些操作码。因此,您的脚本的行为方式与没有缓存的情况完全相同,只是开始运行速度更快。

缓存引擎通常会查看 PHP 文件的时间戳(修改时间或 mtime)。APC 可以配置为在每个请求上查找修改时间(默认),但也可以配置为不检查修改时间,在这种情况下,您必须手动清除缓存以进行更改。在 APC 缓存中查看此设置:

http://php.net/manual/en/apc.configuration.php#ini.apc.stat

于 2010-01-06T11:27:50.057 回答