我正在使用Laravel 5.6开发一个小型Web应用程序。 我最近将Laravel升级到5.6,因此也将PHP更新到版本7.2.3,因为php7.1是Laravel的要求。
我正在使用Windows 10计算机进行开发。
为了测试我正在使用php内置的webserver。
我要么使用Laravel快捷方式启动服务器php artisan serve
,要么直接调用php -S localhost:8000 -t public
命令,结果是相同的。
由于我更新了php,我无法通过浏览器访问任何资产(css,js)。
刀片文件:
<head>
<meta charset="UTF-8">
<title>My Site</title>
<link href="{{ asset('css/search.css') }}" rel='stylesheet'>
</head>
Chrome中的输出:
<head>
<meta charset="UTF-8">
<title>My Site</title>
<link href="http://localhost:8000/css/search.css" rel='stylesheet'>
</head>
laravel项目的文件夹结构是:
- Root of Laravel Project
- public
- css
- search.css
输入search.css
,服务器日志http://localhost:8000/css/search.css
127.0.0.1:52980 [404]: /css/search.css - No such file or directory
文件
文件位于正确的位置,生成的网址也正确无误。事实上,我没有改变任何东西,并使用较旧的PHP版本。但是,经过苛刻的考验,我再次检查了一次。
使用几行代码验证controller.php
中的路径:
public function index(Request $request)
{
$t3 = public_path("css\\search.css");
var_dump($t3);
var_dump(file_exists($t3));
}
结果是:
string(91) "C:\Users\me\Documents\LaravelProject\public\css\search.css" bool(true)
将应用程序部署到AWS EB环境将起作用。 所以我猜,内置的网络服务器存在问题。
任何人都可以想象,出了什么问题? 小型网络服务器在开发过程中当然非常方便。