Töltsük le Laravel projektet:
git clone https://github.com/username/reponame
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).
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
php artisan serve
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
php artisan --version
Lehetséges kimenet:
Laravel Framework 8.83.11
Megnézhetjük egy fájlban is:
cat composer.json | grep laravel/framework
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 $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');