我尝试在Centos7上安装一个新的laravel项目Apache/PHP 5.6/MariaDB.
关于/var/www
:
composer create-project laravel/laravel devil
chmod -R 777 devil/storage
chmod -R 777 devil/vendor
当我试图从浏览器访问它时,它似乎是刀片扩展不起作用。它一直显示空白页,没有任何错误。
我检查了chrome web开发人员扩展上显示500(内部服务器错误)的HTTP响应。
只有当我根本不使用blade模板(不使用.blade.php扩展和blade语法)时,该应用程序才能工作。
以下是文件夹结构
drwxr-xr-x. 10 adzar adzar 4096 Mar 25 04:06 app
-rwxr-xr-x. 1 adzar adzar 1635 Mar 25 04:06 artisan
drwxr-xr-x. 2 adzar adzar 39 Mar 25 04:06 bootstrap
-rw-r--r--. 1 adzar adzar 788 Mar 25 04:06 composer.json
-rw-r--r--. 1 adzar adzar 100509 Mar 25 04:06 composer.lock
drwxr-xr-x. 2 adzar adzar 4096 Mar 25 04:06 config
drwxr-xr-x. 4 adzar adzar 52 Mar 25 04:06 database
-rw-r--r--. 1 adzar adzar 503 Mar 25 04:06 gulpfile.js
-rw-r--r--. 1 adzar adzar 98 Mar 25 04:06 package.json
-rw-r--r--. 1 adzar adzar 87 Mar 25 04:06 phpspec.yml
-rw-r--r--. 1 adzar adzar 777 Mar 25 04:06 phpunit.xml
drwxr-xr-x. 4 adzar adzar 95 Mar 25 04:06 public
-rw-r--r--. 1 adzar adzar 1724 Mar 25 04:06 readme.md
drwxr-xr-x. 5 adzar adzar 42 Mar 25 04:06 resources
-rw-r--r--. 1 adzar adzar 560 Mar 25 04:06 server.php
drwxrwxrwx. 5 adzar adzar 60 Mar 25 04:06 storage
drwxr-xr-x. 2 adzar adzar 47 Mar 25 04:06 tests
drwxrwxrwx. 26 adzar adzar 4096 Apr 8 18:31 vendor
.env file
(不变)
APP_ENV=local
APP_DEBUG=false
APP_KEY=EOvUHTpMtavKDMx1GdkREtbves8PVEUb
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
我使用IP地址(100.255.XXX.XXX)
使用apache虚拟主机访问我的应用程序。下面是我的/etc/httpd/conf/httpd.conf
。
...
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName 100.255.XXX.XXX
...
<VirtualHost *:80>
ServerName 100.255.XXX.XXX
DocumentRoot /var/www/devil/public
<Directory /var/www/devil>
AllowOverride All
</Directory>
</VirtualHost>
请帮忙,谢谢。
更新
经过几个小时的尝试,我终于能够通过禁用SELinux来解决这个问题。
setenforce 0
然而,我仍然不知道为什么。
Blade模板在文件系统中广泛缓存其模板。
因此,您需要确保适当的文件夹可由web服务器写入。
Laravel可能需要配置一些权限:
storage
和vendor
中的文件夹需要web服务器的写访问权限。
通过在控制台中运行以下命令修复您的文件夹权限:
chmod 664 /var/www/devil/storage -R
chmod 664 /var/www/devil/vendor -R
来源:http://laravel.com/docs/5.0/installation#configuration