0

我有一个 PHP 站点,其中所有页面都包含一个 57K 生成的 PHP 文件。我正在考虑使用操作码缓存,因此每次加载页面时都不需要解析文件(我假设加载已经解析的文件会比读取 57K 源文件更快)。

APC 似乎是很好的候选者,但根据 phpinfo,我的 Godaddy 共享主机没有编译它,我无法在共享主机环境中编译和安装它。Zend 框架已安装,但根据文档,它还需要 APC 或其他操作码缓存作为后端。

我还必须执行哪些其他选项来执行操作码缓存?是否有一个仅限 PHP 的操作码缓存解决方案,我可以简单地 FTP 到 Godaddy?

4

2 回答 2

0

是否有一个仅限 PHP 的操作码缓存解决方案,我可以简单地 FTP 到 Godaddy?

抱歉不行。当 .php 文件运行时,已经为时已晚,因为已经执行了解释和编译操作。

因此,它必须作为 PHP 扩展运行,这些扩展经过编译...

于 2010-02-26T14:57:08.920 回答
0

读取文件 PHP 文件、解析它、将其编译为操作码和执行操作码,都是由内部 PHP 引擎在内部完成的——这意味着 PHP 脚本完全无法控制这个过程;这也意味着改变该过程的唯一方法是通过 PHP 扩展(PHP 扩展是指用 C 开发的扩展),它具有更高级别的控制。

这意味着无法在纯 PHP 中开发操作码缓存:操作码操作、编译和缓存是您无法通过 PHP 控制的操作。

由于 PHP 扩展可以访问引擎的内部结构,因此只有服务器管理员可以安装和启用它们——考虑到它们可能会使 PHP 崩溃,占用他们想要的任意数量的内存,您可能会理解为什么。

所以,不幸的是,对你来说希望不大:如果你想使用像 APC 这样的操作码缓存,你将不得不使用一些提供它的托管服务——这可能意味着使用你自己的专用服务器。

于 2010-02-26T16:54:47.373 回答