Laravel storage:link on shared hosting

BBMCode đã đăng vào lúc 07:06:05 17/06/2023 | đọc khoảng 2 phút, có 357 từ

Lỗi không thể chạy command php artisan storage:link trên môi trường hosting

 

Trên thực tế, khi xây dựng website bằng Laravel và chạy trên môi trường hosting. Một số nhà cung cấp hosting họ không cho phép ssh. Như vậy, sẽ gặp một số rắc rối liên quan tới các command php artisan cần thực thi.

 

Ví dụ có thể gặp phải lỗi không up được hình hoặc file trong Laravel. Vì storage:link chưa chạy trên hosting. Code sẽ không rõ path chứa hình/file và gây lỗi 500. Cũng như không thể hiển thị được hình ảnh trên website.

 

⛳ Mẹo nhỏ để khắc phục:

Khi gặp trường hợp cần thực thi Artisan command nào đó, mà hosting lại không cho ssh vào. Mình thường hay dùng mẹo như bên dưới.

 

Thêm vào một route và chạy Artisan::call như bên dưới

// BBMCode: routes/web.php

Route::get('/linkstorage', function () {
    Artisan::call('storage:link');
});

Như vậy, khi vào trình duyệt truy cập URL https://....com/linkstorage, sẽ tương ứng chạy command php artisan storage:link

 

Chỉ là một chiêu nhỏ, nhưng cũng khá hữu ích cho anh em dùng shared hosting đấy 

Cứ như vậy có thể áp dụng với các Artisan command khác khi cần.