วิธีใช้ Artisan Command ใน Shared hosting
บทนำ
หลายๆคนที่ใช้ Laravel ใน Share Hosting น่าจะมีปัญหาเพราะว่าไม่สามารถใช้ Artisan Command ได้ บทความนี้เราจะแชร์วิธีเรียกใช้ Artisan Command ใน Share Hosting กัน
เพิ่ม Routing
เพิ่ม Routing สำหรับเรียกใช้ Artisan Command กัน
php
Route::get('/run-migration', function (Request $request) {
// ...
});เพิ่มการเรียกใช้ Artisan Command
เรียกใช้ Artisan Command ในไฟล์ Router
php
use Illuminate\Support\Facades\Artisan;
// ...
Route::get('/run-migration', function (Request $request) {
Artisan::call("migrate"); // เรียกใช้ Artisan Command
});การ Pass Params ผ่าน Command
ในการ Pass Params สามารถใช้ได้ 2 วิธีคือ การส่งเข้าไปตรงๆ
php
Route::get('/run-migration', function (Request $request) {
Artisan::call("migrate:fresh --seed");
});อีกวิธีคือการส่งผ่าน Array Argument
php
Route::get('/run-migration', function (Request $request) {
Artisan::call("migrate:fresh", [
'--seed' => true,
'--force' => true,
]);
});สรุป
เพียงเท่านี้เราก็สามารถเรียกใช้ Artisan Command ผ่าน Share Hosting ได้แล้ว แต่ว่าเราไม่ควรเปิดให้เข้าถึง ได้จาก Public นะครับ นอกจากนี้แล้วยังมี Package Artisan UI ด้วย ซึ่งสามารถไปดูได้ที่นี่ https://github.com/lorisleiva/artisan-ui ซึ่งน่าจะเพิ่มความสะดวกให้แก่ทุกท่านได้มากขึ้น