2015-04-08 2 views
1

I tried to install a fresh laravel project on CentOS 7 running Apache/PHP 5.6/MariaDB.Laravel 5 Лезвие не работает на CentOS 7

на /var/www:

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

When I tried to access it from browser, it seems the blade extension is not working. It keep showing blank page without any error.

Я проверил ответ HTTP, показывающий 500 (Внутренняя ошибка сервера) на моем расширение хром веб-разработчика.

Приложение работает только в том случае, если я вообще не использую шаблоны лезвий (не используйте расширение .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) моего приложения с помощью апачского виртуального хоста. Ниже мой /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> 

Пожалуйста, помогите, спасибо.

+0

Ответ HTTP - 500 (Внутренняя ошибка сервера), как показано на моем расширении веб-разработчика Chrome. «Этот бит важен, важно :) Нажмите на сам запрос и проверьте содержимое ответа. Если там ничего нет, вы можете отключить отображение ошибки - проверьте журналы сервера. Кроме того, убедитесь, что вы установили '$ debug' в' false' в файле конфигурации app.php, соответствующем вашей среде. –

+0

В ответе нет ничего. Файл APP_DEBUG по .env по умолчанию равен true. Установите его в true, ничего не изменив. Я проверил журналы в папке хранения/журналов, но нет файлов журналов. –

+0

Хорошо, попробуйте журналы веб-сервера, например, если это Apache 2, они обычно находятся в '/ var/log/apache2/error.log' и'/var/log/apache2/access.log'. Обратите внимание, что эти пути могут быть разными для вас, в зависимости от версии сервера и ОС, конфигурации виртуального хоста и т. Д. –

ответ

0

Blade templating широко использует свои шаблоны в файловой системе.

Таким образом, вам необходимо убедиться, что соответствующие папки доступны для записи на вашем веб-сервере.

Laravel may require some permissions to be configured: folders within storage and vendor require write access by the web server.

Исправьте разрешения папки, выполнив следующую команду в консоли:

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

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

Источник: http://laravel.com/docs/5.0/installation#configuration

+0

Все еще не работает. Я даже попытался переустановить свой laravel с нуля следующим образом: 1. «композитор-создатель-проект laravel/laravel/var/www/devil' 2.' chmod 664/var/www/devil/storage -R' 3 . chmod 664/var/www/devil/vendor -R' Все еще лезвие не работает. –

+0

В вашем случае папка для хранения будет находиться в папке '/ var/www/devil/laravel/app/storage'. – Mysteryos

+0

Нет. Я использую laravel 5. Папка поставщика и хранилища находится на '/ var/www/devil/storage' и'/var/www/devil/vendor'. –

2

Update

После нескольких часов попыток я, наконец, смог исправить проблему, отключив SELinux.

setenforce 0 

Однако я до сих пор не знаю, почему.

+0

Чувак. Это сработало. Это определенно сработало. Черт. 6 часов пытаются заставить все работать, изменяя apache conf, перезагружая сервер и ничего. ЭТО сделало это. Благодаря! Большое спасибо! – Chuy