Menjalankan Perintah PHP Artisan di Shared Hosting

Menjalankan Perintah PHP Artisan di Shared Hosting

Admin
Admin・ 9 Juni 2021
6 min read ・ 4952 views

PHP Artisan di Shared Hosting - Shared Hosting Service merupakan layanan hosting dimana banyak situs berada di satu server web yang terhubung ke internet. Shared hosting umumnya merupakan opsi hosting dengan harga paling ekonomis, karena keseluruhan biaya pemeliharaan server tersebar ke banyak pelanggan.

Sumber: wikipedia

Beberapa penyedia layanan hosting, tidak memberikan fitur terminal pada layanan shared hosting mereka. Memang sebagian ada fitur terminal, tapi biasanya dibedakan berdasarkan harga paket yang ditawarkan. Fitur terminal di shared hosting ini berfungsi untuk menjalankan perintah-perintah seperti yang biasanya dijalankan pada local development.

Saat kita melakukan upload atau deploy laravel project ke shared hosting, kita tidak bisa menggunakan fitur terminal untuk menjalankan perintah artisan dari laravel seperti config:cache, config:clear, cache:clear, storage:link, dan lain-lain. Lalu pertanyaannya, bagaimana cara menjalankan perintah artisan di shared hosting jika tidak terdapat fitur terminal ? Tenang saja, kita masih bisa menjalankan perintah artisan dari laravel meskipun tidak melalui terminal yaitu dengan route atau bisa juga dengan cronjob.

Di artikel ini, saya akan membagikan tulisan yang akan membahas bagaimana cara menjalankan perintah php artisan di shared hosting tanpa melalui terminal. Simak terus sampai akhir artikel ya.

Menjalankan Perintah Artisan di Route Shared Hosting

Artisan::call(your-command);

Untuk dapat menjalankan perintah artisan dengan media route, kita hanya perlu membuat route dan menambahkan command atau perintah seperti contoh di atas.

Berikut ini saya berikan contoh bagaimana cara menjalankan perintah artisan (yang paling sering digunakan) di route Shared Hosting:

  1. Menjalankan Perintah config:clear di Shared Hosting
    Route::get('/config-clear', function() {
        Artisan::call('config:clear'); 
        return 'Configuration cache cleared!';
    });
  2. Menjalankan Perintah config:cache di Shared Hosting
    Route::get('/config-cache', function() {
        Artisan::call('config:cache');
        return 'Configuration cache cleared! <br> Configuration cached successfully!';
    });
  3. Menjalankan Perintah cache:clear di Shared Hosting
    Route::get('/cache-clear', function() {
        Artisan::call('cache:clear');
        return 'Application cache cleared!';
    });
  4. Menjalankan Perintah view:cache di Shared Hosting
    Route::get('/view-cache', function() {
        Artisan::call('view:cache');
        return 'Compiled views cleared! <br> Blade templates cached successfully!';
    });
  5. Menjalankan Perintah view:clear di Shared Hosting
    Route::get('/view-clear', function() {
        Artisan::call('view:clear');
        return 'Compiled views cleared!';
    });
  6. Menjalankan Perintah route:cache di Shared Hosting
    Route::get('/route-cache', function() {
        Artisan::call('route:cache');
        return 'Route cache cleared! <br> Routes cached successfully!';
    });
  7. Menjalankan Perintah route:clear di Shared Hosting
    Route::get('/route-clear', function() {
        Artisan::call('route:clear');
        return 'Route cache cleared!';
    });
  8. Menjalankan Perintah storage:link di Shared Hosting
    Route::get('/storage-link', function() {
        Artisan::call('storage:link');
        return 'The links have been created.';
    });
    Jika kamu melakukan deploy atau upload laravel project ke shared hosting dengan cara tidak memisahkan folder public dengan folder atau file laravel yang lainnya, kamu bisa membuat atau menjalankan perintah php artisan storage:link di shared hosting dengan cara membuat route seperti di atas.
    ln -s /home/u111xxxx/yourapp/storage/app/public /home/u111xxxx/public_html/storage
    Cara lain yang dapat digunakan untuk membuat atau menjalankan perintah php artisan storage:link di shared hosting yaitu dengan menggunakan cronjob. Jika cara kita deploy atau upload laravel project ke shared hosting dengan memisahkan folder public (upload di public_html) dengan folder atau file dari laravel lainnya maka command yang dapat digunakan untuk membuat storage:link via cronjob seperti contoh di atas. Pada contoh di atas, ganti nilai u111xxxx dengan username atau nama akun cPanel dan pada nilai yourapp bisa diganti dengan nama project.
    ln -s /home/u111xxxx/public_html/storage/app/public /home/u111xxxx/public_html/public/storage
    Dan jika cara upload laravel project ke shared hosting tidak memisahkan folder public dengan folder atau file laravel lainnya, command yang dapat digunakan untuk membuat atau menjalankan php artisan storage di Shared Hosting bisa seperti contoh di atas. Pada contoh di atas, silahkan ganti u111xxxx dengan username atau nama akun cPanel.
  9. Menjalankan Perintah php artisan down di Shared Hosting
    Route::get('/down', function() {
        Artisan::call('down');
        return 'Application is now in maintenance mode.';
    });
    Perintah php artisan down digunakan untuk mengubah aplikasi atau website ke maintenance mode, sehinga setelah menjalankan perintah ini maka website atau aplikasi tidak dapat diakses.
  10. Menjalankan Perintah php artisan up di Shared Hosting
    Route::get('/up', function() {
        Artisan::call('up');
        return 'Application is now live.';
    });
    Agar website atau aplikasi dapat diakses kembali, kita perlu menjalankan perintah php artisan up mengubahnya ke live mode lagi.

Menjalankan Artisan dengan Artisan UI Package

artisan ui package

Jika kita memakai PHP versi 8 keatas, kita bisa memakai artisan ui package dari Lorisleiva untuk menjalankan perintah-perintah artisan.  Package ini dapat kita gunakan untuk menjalankan perintah artisan baik di local maupun di server hosting.

Dengan artisan ui package ini tentu akan sangat membantu kita untuk menjalankan perintah-perintah artisan di shared hosting yang memang beberapa paket hosting yang disediakan oleh penyedia layanan hosting tidak menyertakan fitur terminal untuk paket hosting tertentu. Jadi, sebelum laravel project kita deploy atau upload di shared hosting, kita bisa menginstall package ini terlebih dahulu di local development kita.

composer require lorisleiva/artisan-ui
php artisan artisan-ui:install

Untuk installasinya cukup mudah sekali. Silahkan buka terminal, kemudian jalankan perintah-perintah di atas secara berurutan. Setelah proses installasi selesai, sekarang jika coba akses example.com/artisan di browser maka akan menampilkan tampilan seperti pada gambar di atas. Silahkan pilih yang mana saja perintah artisan yang ingin dijalankan.

artisan ui package

Disini saya akan memberikan contoh menjalankan perintah storage:link dari artisan ui package. Seperti pada gambar di atas, setelah memilih perintah artisan, bisa langsung klik "Execute" untuk menjalankan perintah php artisan storage:link. Saat saya coba cek di dalam folder public, maka sudah ada folder storage. Hasilnya sama persis kan dengan menjalankan php artisan storage:link di terminal ?

Sumber & Dokumentasi: github.com/lorisleiva/artisan-ui

Sekian artikel kali yang telah membahas bagaimana cara menggunakan perintah artisan laravel dengan media route di Shared Hosting dan cara mudah menjalankan perintah artisan dengan artisan ui package. Silahkan kalian tentukan sendiri cara mana yang ingin digunakan untuk menjalankan perintah artisan di shared hosting, apakah mau pakai cara di route atau mau pakai artisan ui package.

Semoga bermanfaat dan dapat membantu, jika ada kritik, saran atau apapun itu yang ingin didiskusikan, silahkan tulis komentar pada form komentar yang tersedia di bawah ini.Selamat mencoba dan sampai jumpa di artikel-artikel berikutnya yang tidak kalah menarik.

Tinggalkan Komentar
Loading Comments