Laravel 5 Blade在CentOS 7上不起作用

时间:2015-04-08 10:08:34

标签: php laravel laravel-5 blade

  

我试图在CentOS 7上安装一个新的laravel项目   Apache / PHP 5.6 / MariaDB。

on /var/www

composer create-project laravel/laravel devil
chmod -R 777 devil/storage
chmod -R 777 devil/vendor
  

当我尝试从浏览器访问它时,它似乎是刀片扩展   不管用。它一直显示空白页面,没有任何错误。

我检查了我的chrome web开发人员扩展程序上显示500(内部服务器错误)的HTTP响应。

该应用仅在我根本不使用刀片模板时才有效(不使用.blade.php扩展名和刀片语法)。

以下是文件夹结构

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>

请帮助,谢谢。

2 个答案:

答案 0 :(得分:3)

<强>更新

经过几个小时的尝试后,我终于能够通过禁用SELinux解决问题。

setenforce 0

然而,我仍然不知道为什么。

答案 1 :(得分:0)

刀片模板将其模板广泛地缓存在文件系统中。

因此,您需要确保Web服务器可以写入相应的文件夹。

  

Laravel可能需要配置一些权限:storagevendor中的文件夹需要Web服务器的写访问权。

通过在控制台中运行以下命令来修复您的文件夹权限:

chmod 664 /var/www/devil/storage -R

chmod 664 /var/www/devil/vendor -R

来源:http://laravel.com/docs/5.0/installation#configuration