我有一个运行Apache和PHP的Vagrant虚拟机。所有请求最初都由mod_rewrite路由。
当请求中没有.php时,Apache直接提供该文件,几乎可以立即从vagrant VM内部和外部进行访问。
当请求中包含.php时,会检查一些重写条件,最终Apache将请求发送到PHP,然后加载我们的Symfony内核环境等。我尝试在内核引导文件的第一行添加
此外,在OS X上一切正常,完全相同的设置在另一台Windows机器上也能正常工作。我已经尝试重新安装/重建几乎驱动这一切的技术的每个部分,但都无济于事。
那么到底是怎么回事呢?从VM外部请求PHP与非PHP内容之间存在某些不同之处,但仅在请求来自特定的Windows机器时才存在这种差异。
我真的很困惑。有任何想法吗?
当请求中没有.php时,Apache直接提供该文件,几乎可以立即从vagrant VM内部和外部进行访问。
当请求中包含.php时,会检查一些重写条件,最终Apache将请求发送到PHP,然后加载我们的Symfony内核环境等。我尝试在内核引导文件的第一行添加
exit('test');
,以便响应尽可能快。实际上,所有正在发生的事情就是Apache将请求发送到PHP,然后立即退出。从VM内部执行几乎可以瞬间完成。从主机执行则需要10多分钟的加载时间。此外,在OS X上一切正常,完全相同的设置在另一台Windows机器上也能正常工作。我已经尝试重新安装/重建几乎驱动这一切的技术的每个部分,但都无济于事。
那么到底是怎么回事呢?从VM外部请求PHP与非PHP内容之间存在某些不同之处,但仅在请求来自特定的Windows机器时才存在这种差异。
我真的很困惑。有任何想法吗?