Я разработал php-сайт, используя Laravel 5, и попробовал разместить его на сервере LAN, на котором работает UBUNTU 14. Но когда я перешел на страницу, я просто получаю пустую страницу. Никаких ошибок. Я вставил простой оператор эха в index.php, и я получил соответствующее эхо.
Могло быть много причин. Если вы используете Laravel 5.0, вам понадобится хотя бы PHP 5.4. Для Laravel 5.1 вам понадобится 5.5.9. Но если вы установили PHP, используя sudo apt-get install php5
вас, скорее всего, будет PHP 5.5.9 или новее. Потому что это версия по умолчанию для Ubuntu 14.04 LTS. попробуйте запустить php -v
с терминала, чтобы проверить версию.
Также может возникнуть проблема с storage
доступа для папки storage
. Из корневой папки проекта выполните следующую команду,
sudo chmod 755 -R storage
В принципе, laravel нуждается в записи доступа к папке хранения для записи журнала в каталог storage/log
или для записи скомпилированных файлов вида в storage/framework/views
и т. Д. Сначала вы можете попробовать 755. Если это не работает, попробуйте 777.
Laravel ничего не показывает об определенных фатальных ошибках. Например, класс, который не может быть найден, или каталог хранилища и подкаталоги, которые должны быть доступны для записи для веб-пользователя (www-data). Это должно появиться в журнале ошибок веб-сервера.
Я считаю, что у вас есть разрешения на выпуск chmod 755, который находится в корневом каталоге вашего веб-проекта. Если это не работает, сделайте это 777.
Причина, по которой echo в index.php работает, заключается в том, что это первый файл, который вызывается при запуске приложения laravel, а индексный файл вызывает поставщика услуг и другие необходимые файлы. В этом процессе приложение создает файл кэша под хранилищем / картой / views /, но эти файлы не имеют прав на запись, но по мере того, как вы повторяете что-то, вы получаете этот вывод, потому что он был вызван еще до того, как что-либо было вызвано.