【发布时间】:2014-08-03 01:29:44
【问题描述】:
我有最新的 PHPUnit 作为 phar,放在 /usr/local/bin/phpunit (4.1.3) 中。当我在我的流浪主机(ubuntu 12.04,php 5.3.10)上执行这个文件时,它实际上开始执行单元测试之前似乎需要 30 到 60 秒。我不知道为什么。
有什么想法吗?
【问题讨论】:
我有最新的 PHPUnit 作为 phar,放在 /usr/local/bin/phpunit (4.1.3) 中。当我在我的流浪主机(ubuntu 12.04,php 5.3.10)上执行这个文件时,它实际上开始执行单元测试之前似乎需要 30 到 60 秒。我不知道为什么。
有什么想法吗?
【问题讨论】:
我在生产中运行 phars 时遇到了类似的问题(AWS 的 phar。不幸的是,PHP 不会对 phar 存档进行任何缓存,即使使用 APC 作为 OpCode 缓存也是如此。因此,对于每个请求,PHP 都会取消存档并且解析整个 phar。我的解决方法是避免在生产中使用 phas,除非存档很小。
如果您有升级 PHP 5.5 w/ OpCode 缓存的选项,您应该不会遇到这个问题。
【讨论】:
我现在要关闭它,因为我认为主要问题是我正在使用共享文件夹,并且我无法像 monte 建议的那样更新到 5.5。感谢您的回复!我现在只需要处理它。如果我有时间,我会按照您的建议尝试使用 5.5 和 OpCode 的 vagrant,然后运行 phpunit 以查看它是否更快,即使在共享文件夹中也是如此。如果是这样,我将更改我接受的答案。
【讨论】: