Ubuntu 14.04 上的 Laravel 5.1 本地主机错误
Posted
技术标签:
【中文标题】Ubuntu 14.04 上的 Laravel 5.1 本地主机错误【英文标题】:Localhost Error with Laravel 5.1 on Ubuntu 14.04 【发布时间】:2016-02-21 23:32:30 【问题描述】:在这里看过以前的文章,但没有运气。我刚刚通过 composer 安装了 Laravel 5.1。我一直在关注位于here 的官方安装文档。我没有使用宅基地,也没有使用虚拟环境。虽然一切正常,但我无法将项目托管在我的网络服务器上。虽然常规的 php 文件很容易托管并且可以通过我的 localhost 访问,但通过我的 localhost 访问 Laravel 的公共文件夹会给我一个 500 内部服务器错误。按照教程,我的 public/.htaccess 文件有以下内容。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
我的错误日志最近的条目如下。
[Thu Nov 19 22:25:10.012710 2015] [core:alert] [pid 6461] [client 127.0.0.1:43086] /var/www/html/blog/public/.htaccess: Options not allowed here
至于权限,我已授予对 Laravel 应用程序文件夹中所有文件和文件夹的权限。我在我的机器上运行 Apache/2.4.7 (Ubuntu) 和 PHP 5.5.9-1ubuntu4.14。
如果您需要任何其他信息,请告诉我。任何帮助将不胜感激!
编辑:
通过在我的 apache2.conf 中添加以下内容解决了问题:
<Directory />
AllowOverride All
</Directory>
谢谢大家。
【问题讨论】:
【参考方案1】:您一定错过了配置文件中的配置。最好的测试方法是从你的 htaccess 文件中删除这一行。
Options +FollowSymLinks
那就试试吧。
确保您的 apache2.conf 提供了所有选项。有时你会遇到这样的事情
AllowOverride FileInfo AuthConfig Limit Indexes
如果是这种情况,请将其更改为
AllowOverride All
编辑:
所以在你的 .htaccess 文件中你可以拥有。
DirectoryIndex index.php
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
【讨论】:
照你说的做,谢谢。但我仍然收到相同的内部服务器错误。日志现在显示“[Wed Nov 18 09:38:47.808742 2015] [autoindex:error] [pid 1747] [client 127.0.0.1:11626] AH01276: 无法提供目录 /var/www/html/blog/: 没有匹配找到 DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm),并且服务器生成的目录索引被 Options 指令禁止” 这不是 same 错误。它说的是完全不同的东西。因此,您似乎解决了 AllowOverride All 的第一个问题。现在尝试在 .htaccess 文件的顶部添加此DirectoryIndex index.php
。以上是关于Ubuntu 14.04 上的 Laravel 5.1 本地主机错误的主要内容,如果未能解决你的问题,请参考以下文章
PHP 7.0 上的 Laravel 5.4:PDO 异常 - 找不到驱动程序 (MySQL)
在 laravel @Apache2 Server Ubuntu 14.04 LTS 中将 Root 设置为公用文件夹
npm 全局安装后如何在 Virtual Box Ubuntu 14.04 中修复 $PATH