我正在开发一个基于 Laravel 4 的项目。我最近迁移到 Laravel 的 Forge,突然间我所有基于 URI 的相对函数调用“copy”和“md5_file”突然停止工作。我自己找到的解决方案是将它们全部替换为绝对函数调用,到目前为止它已经奏效。然而:
- 我不知道发生了什么/为什么发生
- 我无法预测可能需要进行哪些其他更改。
如果有帮助,我之前的堆栈是通过 apache 的 PHP 5.4.9-4ubuntu2.4,而 forge 通过 nginx 使用 PHP 5.5.15-1+deb.sury.org~trusty+1。
所以我不知道这是 PHP 的事情,Apache vs nginx 的事情,还是 Laravel Forge 的事情。
基本上,以下代码:
if (file_exists($file_uri) && is_readable($file_uri))
{
return md5_file($file_uri);
}
return null;
产生以下异常:
md5_file($file_uri): failed to open stream: No such file or directory
但是,该异常仅发生在具有非绝对 URI 的 Forge/NginX/PHP 服务器上。