Tartalomjegyzék

< Laravel

Laravel projekt használatbavétele

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

setup.php
<?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');