Laravel — бесплатный PHP веб-фреймворк с открытым кодом, предназначенный для разработки с использованием архитектурной модели MVC. Laravel выпущен под лицензией MIT. Исходный код проекта размещается на GitHub.
Плюсы Laravel:
Минусы Laravel:
Требований к веб-серверу, на который можно устанавливать Laravel и создавать сайты на его базе:
Требования касаются, в первую очередь, используемой версии PHP и наличия различных модулей для корректной работы Laravel.
Официальная документация не блещет расширенной информацией обстановке Laravel. Как вы догадываетесь в этой статье не идет речь как стать программистом Laravel. Здесь разбирается случай когда вы купили программистское "поделье" на Laravel и не знаете как его запустить. И при этом этот супер-пупер программист забыл вам сказать, что под его поделье надо покупать аж цельный VPS.
И так пробуем выкрутиться и хоть как-то, без SSH доступа, воткнуть Laravel на хостинг. Варианты установки Laravel:
composer update
С помощью неё вы установите файлы самого фреймворка, хранящиеся в папке vendor, и прочие компоненты, идущие в Laravel из коробки, которые не хранятся в Laravel репозиториях благодаря соответствующему правилу в файле .gitignore, расположенному в корне проекта.
Самый простой способ проверки работоспособности Laravel даже не потребует от вас наличия настроенного веб сервера. Минимальным требованием является наличие установленного PHP.
В таком случае для запуска Laravel можно будет воспользоваться встроенным в PHP сервером разработки с помощью artisan команды serve:
php artisan serve
Данная команда запускает сервер разработки по URL http://localhost:8080 и делает доступным сайт, в папке которого вы вызвали команду serve.
Если же у вас уже есть в наличии настроенным веб-сервер со всеми необходимыми компонентами (минимум Apache/Nginx + PHP), то для тестового запуска Laravel введите в строке браузера url вашего сайта, добавив в конце «/public», т.к., ввиду файловой структуры Laravel, даже после успешной установки, при входе на сайт вы увидите только список файлов.
Многие предпочитают задавать настройки в файле .env (в корне созданного приложения). В нем можно задать любые настройки из конфигов, а так же добавить любые свои. Все переменные, описанные в этом файле, будут автоматически доступны вашему приложения в суперглобальной переменной $_ENV и вы сможете использовать их везде в своем приложении.
Часто необходимо иметь разные значения для разных настроек в зависимости от среды, в которой выполняется приложение. Например, вы можете захотеть использовать разные драйвера (или настройки) на локальном сервере и на продакшне. То есть вы можете изменять эти переменные под свои нужны, как на локальной машине, так и в продакшне.
2
Ну если вы делаете по инструкции с laravel.com, то там config/database.php содержит такие строки:
'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', ],
На примере одной строки:
'host' => env('DB_HOST', 'localhost'),
host равен переменной DB_HOST в env-файле (если он есть) или localhost, если env-файл не подключен.
Криворукие программисты не знают что такой Linux way и превратно понимают термин "единая точка входа на сайт". Давайте попытаемся хоть как это исправить - ведь продукт куплен и деньги программисты Ларавел возвращать не хотят.
И так в apache public из url можно убрать двумя способами:
DirectoryIndex /public/index.php RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+) $1 [L] RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f RewriteRule ^(.+) /public/$1 [L] Options +SymLinksIfOwnerMatch RewriteRule ^(.*)$ /public/ [QSA,L]
Второй вариант файла .htaccess для переправления в public, он немного проще
<IfModule mod_rewrite.c> # That was ONLY to protect you from 500 errors # if your server did not have mod_rewrite enabled RewriteEngine On # RewriteBase / # NOT needed unless you're using mod_alias to redirect RewriteCond %{REQUEST_URI} !/public RewriteRule ^(.*)$ public/$1 [L] # Direct all requests to /public folder </IfModule>
Laravel трудно отлаживать. Включить режим отладки Laravel: для этого вам просто нужно изменить в файле config/app.php debug_mode на true
'debug' => env('APP_DEBUG', true),
Или включить дебаг логи можно также через файл .env установи в нем переменную APP_DEBUG в значение true (значение false соответственно выключит отладку)
APP_DEBUG=true
/opt/php74/bin/php artisan key:generate /opt/php74/bin/php artisan config:cache