Artisan服务发送带有嵌入响应头的资产

时间:2014-04-24 16:20:33

标签: php laravel laravel-4

也许这是显而易见的事情但是我很难过,我发现我的本地PHP环境正在提供嵌入了响应头的静态文件。

这是在Fedora 20上使用PHP 5.5.11的Laravel 4.1.26,已经过测试laravel servephp -S localhost:8000 server.php,两者都有相同的结果。

我尝试使用Firefox,Opera和Chromium,它看起来像显示原始二进制响应:

Opera displaying a css file

这会导致我所有js文件出错。

enter image description here

值得我尝试curlwget -q -O -并且回复正常,没有显示标题。这看起来像PHP的内置服务器问题,我应该先在哪里挖掘?

修改

这不是PHP的事情,它与Laravel使用文件“server.php”模拟mod_rewrite有关,如果我踩到公共文件夹并使用php -S启动服务器(忽略{{ 1}}和server.php)然后一切都很好。

EDIT2:

缩小搜索范围,laravel serve在Debian 8 Jessie中使用相同的PHP版本(5.5.11)运行正常,在Fedora环境中有所不同。

1 个答案:

答案 0 :(得分:3)

只是改变:

if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
   return false;
}

if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
ob_end_clean ();
   return false;
}

它为我解决了