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=https://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}"
{:filename=".env"}
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
{:filename=".env"}
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;
public function boot()
{
Schema::defaultStringLength(191);
}
{:filename=“app/Providers/AppServiceProvider.php”}
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()
{
//
}
}
{:filename=“app/Providers/AppServiceProvider.php”}
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.
Komentar