0

我正在使用 Laravel 5.6 开发一个小型网络应用程序。我最近将 Laravel 升级到 5.6,因此也将 PHP 更新到 7.2.3 版本,因为 php7.1 是 Laravel 的要求。

我正在 Windows 10 机器上开发。

为了测试,我使用了 php 内置的网络服务器。我要么使用 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

该文件在正确的位置,并且生成的 url 也正确。事实上,我没有改变任何东西,并且使用旧的 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 环境即可。所以我猜,内置的网络服务器有问题。

任何人都可以想象,有什么问题吗?小型网络服务器在开发过程中当然非常方便。

4

0 回答 0