Php Artisan serve发送嵌入响应头的资产

Php Artisan serve发送嵌入响应头的资产,php,laravel,laravel-4,Php,Laravel,Laravel 4,也许这是显而易见的,但我有一段艰难的时间,我刚刚发现我的本地PHP环境正在提供嵌入响应头的静态文件 这是在Fedora 20上安装了PHP5.5.11的Laravel 4.1.26,已经测试了Laravel serve和PHP-S localhost:8000 server.PHP,两者的结果相同 我尝试使用Firefox、Opera和Chromium,它似乎显示了原始二进制响应: 这会导致我的所有js文件出错 我尝试了curl和wget-q-O-,得到了满意的结果,没有显示标题。这看起来像

也许这是显而易见的,但我有一段艰难的时间,我刚刚发现我的本地PHP环境正在提供嵌入响应头的静态文件

这是在Fedora 20上安装了PHP5.5.11的Laravel 4.1.26,已经测试了
Laravel serve
PHP-S localhost:8000 server.PHP
,两者的结果相同

我尝试使用Firefox、Opera和Chromium,它似乎显示了原始二进制响应:

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

我尝试了
curl
wget-q-O-
,得到了满意的结果,没有显示标题。这看起来像是PHP的内置服务器问题,我应该先从哪里挖掘

编辑:

这不是PHP的事情,它与Laravel用文件“server.PHP”模拟mod_rewrite有关,如果我踏上公用文件夹并用
PHP-s
启动服务器(忽略
server.PHP
Laravel-serve
),那么一切都很好

EDIT2:

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

只需更改:

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

它为我解决了这个问题

只要改变一下:

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

它为我解决了这个问题

只要改变一下:

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

它为我解决了这个问题

只要改变一下:

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



它为我解决了这个问题

server.php的开头有什么不应该出现的吗?如果将其与比较,会发生什么?@madebydavid将两个文件区分开来,完全相同。server.php的开头是否有不应该出现的内容?如果将其与比较,会发生什么?@madebydavid将两个文件区分开来,完全相同。server.php的开头是否有不应该出现的内容?如果将其与比较,会发生什么?@madebydavid将两个文件区分开来,完全相同。server.php的开头是否有不应该出现的内容?如果将其与比较,会发生什么?@madebydavid将两个文件完全相同。很有趣,但这种行为在我看来仍然像个bug,您是否尝试升级到最新版本?我不再使用Laravel 4或Fedora。我在5.2和5.3上都有这个功能。可能是php错误,我在windows上,PHP5.6.17很有趣,但这种行为对我来说仍然像个错误,你尝试过升级到最新版本吗?我不再使用Laravel 4或Fedora。我在5.2和5.3上都有这个功能。可能是php错误,我在windows上,PHP5.6.17很有趣,但这种行为对我来说仍然像个错误,你尝试过升级到最新版本吗?我不再使用Laravel 4或Fedora。我在5.2和5.3上都有这个功能。可能是php错误,我在windows上,PHP5.6.17很有趣,但这种行为对我来说仍然像个错误,你尝试过升级到最新版本吗?我不再使用Laravel4和Fedora。我在5.2和5.3上都有这个。可能是php错误,我在windows上,PHP5.6.17