Ketika kalian membuat project Laravel tidak lagi sendirian, sedang kalian berbagi menggunakan git
. Kemudian pada saat kalian meng-cloning project tersebut, kalian tidak bisa langsung menggunakannya, terjadi galat di sana-sini, yang dapat memusingkan, sedang pada saat itu kalian adalag orang yang baru pertama kali mengerjakan project Laravel secara bersama-sama. Berikut ini sedikit tips dari saya tentang bagaimana mengatasi hal tersebut.
Seperti yang telah kita ketahui bahwa Laravel menggunakan berkas .env
sebagai pengaturan utama. Secara asali git
tidak membawa berkas yang bernama berawalan dengan titik ( dotfile ). Oleh karena itu, kita perlu membuat berkasnya dengan perintah berikut:
Tanpa Database
$ touch .env
Ingat perintah di atas hanya untuk membuat berkas kosong, kalian masih perlu menarukah baris kode di bawah ini
APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= DB_USERNAME= DB_PASSWORD= BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file SESSION_LIFETIME=120 QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Kemudian kalian buat app key
baru dengan perintah berikut:
$ php artisan key:generate
Langkah terkahir agar project kita dapat dijalan dengan sebagai mana mestinya, lakukan perintah berikut:
$ composer install
Dengan Database
Project Laravel kalian sudah dapat dijalankan. Namun ia terjadi galat karena kalian menggunakan database dalam project tersebut.
Langkah yang harus kalian lakukan adalah pertama-tama sunting berkas .env
kalian dan ikuti seperti baris kode di bawah ini:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nama_database_project_kalian DB_USERNAME=username_database_kalian DB_PASSWORD=password_databasenya_ya
Lalu kita buat nama database nya dengan perintah:
$ mysql -u root -p'password' -e "create database nama_database_kalian"
Kemudian yang terakhir lakukan perintah migrate
yakni:
$ php artisan migrate
Upps..!! Terjadi galat lagi
PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes")
Ini kalau kalian menggunakan Laravel versi terbaru sedang kalian menggunakan database server (MySQl, Mariadb, dsb) yang tidak mendukung utf8mb4
dengan emoji seperti “😁😄😅” ada dua cara menghilangkan galat tersebut.
Pertama upgrade MySQL atau Mariadb kalian ke versi yang lebih baru. Kemudian cara kedua, kita bisa mengikuti langkah-langkah berikut:
Sunting berkas di app/Providers/AppServiceProvider.php
:
$ vim app/Providers/AppServiceProvider.php
Tambahkan:
use Illuminate\Support\Facades\Schema;
Dan:
public function boot() { Schema::defaultStringLength(191); }
Jadi nanti kodenya kira-kira seperti berikut:
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Schema; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { Schema::defaultStringLength(191); } /** * Register any application services. * * @return void */ public function register() { // } }
Lalu kemudian kita hapus semua isi table nya dengan tinker
$ php artisan tinker
Dan ketik perintah berikut:
foreach(\DB::select('SHOW TABLES') as $table) { $table_array = get_object_vars($table); \Schema::drop($table_array[key($table_array)]); }
Keluar dari tinker
dengan menulis quit
dan yang terakhir kita migrate
lagi dengan perintah:
$ php artisan migrate:refresh
Nah kini, project kita sudah dapat digunakan di localhost. Semoga bermanfaat.
Leave a Reply