这是相反的问题这个。我的目的是,当你只编写 PHP5 代码时,没有必要兼容 PHP4。这根本没有帮助,而且由于这两个版本中的对象模型不同,它肯定会影响解释器的性能(或者我错了?)。
我的问题是:
- 是否可以重新编译 PHP5 而不与 PHP4 兼容,或者以任何其他方式禁用它以获得性能?
- 如果不可能的话,是否有某个地方的项目可以实现这一目标?
答案1
这是不可能的,因为没有必要;一切(除了数量少) 在 PHP4 中基本上是 PHP5 的一个子集。因此,PHP 开发人员无需单独创建“兼容模式”以使 PHP5 运行 PHP4 代码。这有点像,如果 NBA 突然将标准篮球篮筐的尺寸改为直径加宽 2 英寸,它仍然会自动'向下兼容'使用现有的篮球。
PHP5 中要删除的所有内容在 PHP4 中都已弃用,因此正确编写的 PHP4 脚本只需进行少量修改即可在 PHP5 中正常运行。除了弃用的 PHP3 功能之外,最大的“损失”是不再包含在 PHP5 标准安装中的扩展。
新的对象模型取代了 PHP4 中的旧对象模型,但除了改变对象的复制怪癖之外,对象模型之间的差异主要在于实现。因此,大多数 PHP4 脚本只需进行少量修改即可在 PHP5 中运行。并且没有明确的向后兼容性功能需要禁用。
因此,这不是一个值得担心的优化领域。通过优化 PHP5 代码并使用Memcached或者亚太经合组织。如果你想让 PHP 拒绝使用弃用的代码(让你的代码面向未来如果你认为这是一个非常糟糕的决定(而不是服务器优化),那么就使用E_STRICT
错误报告设置。