PHP内置的Web服务器不提供任何资产

时间:2018-03-24 17:05:32

标签: php laravel laravel-5 webserver php-7.2

我正在使用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环境将起作用。 所以我猜,内置的网络服务器存在问题。

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

0 个答案:

没有答案