< Laravel

Laravel projekt használatbavétele

Szerző: Sallai András

Copyright © Sallai András, 2021, 2022

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Letöltése

Töltsük le Laravel projektet:

git clone https://github.com/username/reponame

Függőségek

Lépjünk be a projekt könyvtárába.

composer install

Ha van NodeJS függőség:

npm install
npm run dev

Minimum 7.4 PHP (A Debian GNU/Linux 11 már ezt tartalmazza).

Adatbázis

create database larang character set utf8 collate utf8_hungarian_ci; grant all privileges on larang.* to 'larang'@'localhost' identified by 'titok';

Készítsünk egy .env fájlt: Linuxon:

cp .env.example .env

Windowson:

copy .env.example .env

Szerkesszük és írjuk bele az adatbázis adatait.

Az adatbázis elkészítése:

php artisan migrate
php artisan key:generate

Ha van előre feltöltendő adat:

php artisan db:seed

A 8 Laravelben a Seeder csak úgy működik, ha megadjuk az osztály nevét:

php artisan db:seed --class=TodoSeeder

Szerver indítása

php artisan serve

SQLite adatbázis

Linuxon:

apt install php-sqlite3

Az eredeti adatbázis beállításokat megjegyzésbe tesszük, majd:

DB_CONNECTION=sqlite
DB_DATABASE=database/database.sqlite

Keretrendszer verziószáma

php artisan --version

Lehetséges kimenet:

Laravel Framework 8.83.11

Megnézhetjük egy fájlban is:

cat composer.json | grep laravel/framework

Cache törlés

Ha .env beállítását módosítottuk a cache még az eredeti adatokat szolgáltatja néha. Töröljük a cache-t.

Például ilyen hibaüzenet kaphatunk:

SQLSTATE[HY000] [1045] Access denied for user ''@'localhost'

Pedig a .env fájlban már a helyes adatok vannak.

Megoldás:

php artisan cache:clear
php artisan config:cache

PHP Script

<?php $envContent = <<<'EOT' APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= BROADCAST_DRIVER=log CACHE_DRIVER=file FILESYSTEM_DISK=local QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 MEMCACHED_HOST=127.0.0.1 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_HOST= PUSHER_PORT=443 PUSHER_SCHEME=https PUSHER_APP_CLUSTER=mt1 VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" VITE_PUSHER_HOST="${PUSHER_HOST}" VITE_PUSHER_PORT="${PUSHER_PORT}" VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" EOT; file_put_contents('.env', $envContent); system('composer install'); system('npm install'); system('php artisan key:generate'); system('php artisan migrate'); system('echo Vége');