Fedora 下 Laravel 与 Apache 的几点教训

摘要:摘要: 两天的时间都浪费在了这个上面,觉得非常的不值得。

前景介绍:

其实之前曾经正确的按照要求配置好了 Laravel 与 Apache。然后想新建一个工程,新建完了之后,Apache 就各种不服贴。

1. 关于 Apache 虚拟主机

之前的博客也简单记录过成功的那次的配置(Here),但是自己重新做的时候,想着把项目地址放在了自己常用的~/Code目录下面。这下事情就气人了。

配置完成后,访问页面,总体提示,403错误:

Forbidden You don\'t have permission to access / on this server.

好吧,各种 google +百度,一遍又一遍的调整虚拟主机的设置,根本没有用。

最终,在耐心看了在 /etc/httpd/logs 下的 error_log 日志之后,才发现了问题:Apache 对 /home/yourname 目录没有读的权限,所以才总是 forbidden。

2. 500 错误

002UASMrzy7605pjKJv15&690.jpg

首先,我打开了 php 的错误输出,但是在我访问 Laravel 项目的时候,还是出现了 500 错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

查到的说法是可能没有个 laravel-project/storage 目录 777 权限。这里需要注意的是,应该给到 storage 以及其子目录 777 的权限。我就吃亏在这里了。

应该是 sudo chmod -R 777 storage, 必须有 -R 啊,惨痛。

3. 无三不成几

凑一个,是在用 Laravel 做外键的时候遇到的,也就是在使用 foreign()->references()->on() 的时候。

当 php artisan migrate 的时候,发现各个数据表都能够顺利的建立,但是 alert Foreign Key 的时候就出现错误了。

直接说原因。其实我的原因很简单。只是因为,我的外键设置的是integer,而主键是 autoIncrease 的,所以……
其实只要设置外键本身为unsigned integer 就可以了。