使用 Laravel/Lumen 5.2 和 apache 2.4

Posted

技术标签:

【中文标题】使用 Laravel/Lumen 5.2 和 apache 2.4【英文标题】:Using Laravel/Lumen 5.2 with apache 2.4 【发布时间】:2016-09-21 22:26:09 【问题描述】:

环境详情:

Windows 10 php7 Apache 2.4。

我采取的行动

我使用以下方法将 Lumen 安装到 htdocs 文件夹中:

composer create-project --prefer-dist laravel/lumen blog

所以现在 index.php 的文件路径是:

c:\Apache24\htdocs\blog\public\

这是我的 routes.php 的内容:

$app->get('/', function () use ($app) 
    return $app->version();
);

$app->get( 'foo', function() 
    return "Hello World!";
 );

首先我什至无法访问http://localhost/blog/public,所以我将public/index.php代码中的$app->run();行更改为$app->run($app->make('request'));

问题:

现在我无法访问http://localhost/blog/public/foo(响应为 404)

编辑

根据 Alexei 的建议,我更改了配置文件,现在 http://localhost 指向 '/' 路由,但我仍然无法访问 http://localhost/foo

感谢帮助;)

【问题讨论】:

【参考方案1】:

不要对 Laravel 文件进行任何更改。你应该 point Apache to a public directory 的 Laravel 项目并重新启动它。之后使用像http://localhost这样的普通网址。

在 Apache 配置中进行这些更改:

DocumentRoot "c:\Apache24\htdocs\blog\public\"
<Directory "c:\Apache24\htdocs\blog\public\">

【讨论】:

您好,感谢您的建议,我更改了配置文件,现在 localhost 指向 '/' 路由,但我仍然无法访问 localhost/foo 我的建议是 +1 :)【参考方案2】:

在 Apache 中 - httpd.conf:

对于指定的目录,将 AllowOverrideNone 更改为 All 取消注释行LoadModule rewrite_module modules/mod_rewrite.so

【讨论】:

以上是关于使用 Laravel/Lumen 5.2 和 apache 2.4的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Lumen 5.2 Cors 中间件不工作

通过 Composer 下载 Lumen 时出错

Laravel/Lumen - 使用 Model::with()

在 laravel/lumen 中使用客户端 ID 和密钥访问 API

未定义的方法 Laravel\Lumen\Application::booted()

Laravel/Lumen Tymon/JWT 通过电话号码和密码