Pertanyaannya cukup jelas.
php artisan cache:clear
Apakah ada solusi untuk menghapus cache seperti di atas yang kami gunakan di CLI. Saya menggunakan layanan hosting bersama yang populer, tetapi sesuai paket saya, saya tidak memiliki akses panel kontrol.
** Saya ingin menghapus cache tampilan. **
Saya melihat pertanyaan yang hampir sama seperti ini, tetapi tidak membantu saya.
php
laravel-5
command-line-interface
Rinto George
sumber
sumber
Jawaban:
Anda dapat memanggil perintah Artisan di luar CLI.
Anda dapat memeriksa dokumen resminya di sini http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli
Memperbarui
Tidak ada cara untuk menghapus cache tampilan. Itu juga
php artisan cache:clear
tidak.Jika Anda benar-benar ingin menghapus cache tampilan, saya pikir Anda harus menulis
artisan
perintah Anda sendiri dan memanggilnya seperti yang saya katakan sebelumnya, atau lewatiartisan
jalur dan hapus cache tampilan di beberapa kelas yang Anda panggil dari pengontrol atau rute.Tapi, pertanyaan sebenarnya saya adalah apakah Anda benar-benar perlu menghapus cache tampilan ? Dalam proyek yang saya kerjakan sekarang, saya memiliki hampir 100 tampilan cache dan bobotnya kurang dari 1 Mb, sedangkan
vendor
direktori saya > 40 Mb. Saya tidak berpikir melihat cache adalah hambatan nyata dalam penggunaan disk dan tidak pernah benar-benar perlu untuk menghapusnya.Sedangkan untuk cache aplikasi , disimpan di
storage/framework/cache
direktori, tetapi hanya jika Anda mengkonfigurasifile
driver diconfig/cache.php
. Anda dapat memilih banyak driver berbeda, seperti Redis atau Memcached , untuk meningkatkan kinerja melalui cache berbasis file.sumber
cache:clear
perintah bekerja dengan aplikasi cache , salah satu yang diakses dariCache
fasad.Saya harap ini membantu seseorang
Pergi ke
laravelFolder/bootstrap/cache
kemudian ganti namaconfig.php
menjadi apa pun yang Anda inginkan misalnya.config.php_old
dan muat ulang situs Anda. Itu harus bekerja seperti voodoo.Selamat Coding ...
sumber
cache
folder & di.env
nilai cache default file. Tapi setelah menghapus semua ini mendapatkan masalah lagi .. kapanphp artisan optimize
. Akhirnya yang satu ini memecahkan masalah saya, bukan dengan mengganti nama tetapi mengubah nilai kunci dalam file config.php. Terima kasih @DeadGuySeperti yang saya lihat: http://itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html
apakah mungkin untuk menggunakan kode di bawah ini dengan perintah cache yang baru:
Tidak perlu memberikan kemungkinan untuk menghapus cache untuk semua orang, terutama di lingkungan produksi, jadi saya sarankan untuk mengomentari rute itu dan, bila diperlukan, untuk menghapus komentar kode dan menjalankan rute.
sumber
Config caching Konfigurasi laravel tersebar di banyak file, dan
including
setiap file untuk setiap permintaan adalah proses yang mahal. Untuk menggabungkan semua file konfigurasi Anda menjadi satu, gunakan:Ingatlah bahwa setiap perubahan pada konfigurasi tidak akan berpengaruh apa pun setelah Anda menyimpannya dalam cache. Untuk menyegarkan cache konfigurasi, jalankan kembali perintah di atas. Jika Anda ingin sepenuhnya menghapus cache konfigurasi, jalankan
Routes caching Routing juga merupakan tugas yang mahal di laravel. Untuk menyimpan file routes.php ke cache, jalankan perintah di bawah ini:
Ingatlah bahwa itu tidak bekerja dengan penutupan. Jika Anda menggunakan closure, ini adalah kesempatan bagus untuk memindahkannya ke controller, karena perintah artisan akan memunculkan pengecualian saat mencoba mengompilasi rute yang terikat ke closure alih-alih metode controller yang tepat. Sama seperti config cache, perubahan apapun pada routes.php tidak akan berpengaruh lagi. Untuk menyegarkan cache, jalankan perintah di atas setiap kali Anda melakukan perubahan pada file rute. Untuk benar-benar menghilangkan cache rute, jalankan perintah di bawah ini:
Pengoptimalan peta kelas
Tidak jarang proyek berukuran sedang tersebar di ratusan file PHP. Karena perilaku pengkodean yang baik menentukan kita, semuanya memiliki filenya sendiri. Ini, tentu saja, tidak datang tanpa kekurangan. Laravel harus menyertakan lusinan file berbeda untuk setiap permintaan, yang merupakan hal yang mahal untuk dilakukan.
Karenanya, metode pengoptimalan yang baik adalah mendeklarasikan file mana yang digunakan untuk setiap permintaan (misalnya, semua penyedia layanan Anda, middlewares, dan beberapa lainnya) dan menggabungkannya hanya dalam satu file, yang kemudian akan dimuat untuk setiap permintaan. Ini tidak berbeda dengan menggabungkan semua file javascript Anda menjadi satu, jadi browser harus membuat lebih sedikit permintaan ke server.
File kompilasi tambahan (sekali lagi: penyedia layanan, middlewares, dan seterusnya) harus dideklarasikan oleh Anda di config / compile.php, di kunci file. Setelah Anda meletakkan semua yang penting untuk setiap permintaan yang dibuat ke aplikasi Anda di sana, gabungkan semuanya dalam satu file dengan:
Mengoptimalkan pemuatan otomatis komposer
Yang ini tidak hanya untuk laravel, tetapi untuk aplikasi apa pun yang menggunakan komposer.
Saya akan menjelaskan terlebih dahulu bagaimana autoload PSR-4 bekerja, dan kemudian saya akan menunjukkan kepada Anda perintah apa yang harus Anda jalankan untuk mengoptimalkannya. Jika Anda tidak tertarik untuk mengetahui cara kerja komposer, saya sarankan Anda langsung beralih ke perintah konsol.
Saat Anda meminta komposer untuk
App\Controllers\AuthController
kelas tersebut, pertama kali ia mencari asosiasi langsung di peta kelas. Peta kelas adalah larik dengan asosiasi kelas dan file 1-ke-1. Karena, tentu saja, Anda tidak menambahkan kelas Login dan file terkaitnya secara manual ke peta kelas, komposer akan melanjutkan dan mencari di ruang nama. Karena App adalah namespace PSR-4, yang datang secara default dengan Laravel dan terkait denganapp/
folder, komposer akan mencoba mengubah nama kelas PSR-4 menjadi nama file dengan prosedur manipulasi string dasar. Pada akhirnya, ia menebak bahwa ituApp\Controllers\AuthController
harus ditempatkan di file AuthController.php, yang ada diControllers/
folder yang untungnya ada di folder namespace, yaituapp/
.Semua kerja keras ini hanya untuk mendapatkan bahwa
App\Controllers\AuthController
kelas tersebut ada diapp/Controllers/AuthController.php
file. Agar komposer memindai seluruh aplikasi Anda dan membuat pengaitan kelas dan file 1-ke-1 langsung, jalankan perintah berikut:Ingatlah bahwa jika Anda sudah menjalankan php artisan optimization --force, Anda tidak perlu menjalankan yang ini lagi. Karena perintah optimalkan sudah memberi tahu komposer untuk membuat pemuatan otomatis yang dioptimalkan.
sumber
Paket ini untuk php ^ 7.0 dan ^ laravel5.5 .
Gunakan paket ini di cronjob yang telah saya buat untuk tujuan ini saja. Saya juga menghadapi situasi yang sama. https://packagist.org/packages/afrazahmad/clear-cached-data Instal dan jalankan:
dan itu akan menjalankan perintah berikut secara otomatis
Semoga membantu.
Jika Anda ingin menjalankannya secara otomatis pada waktu tertentu maka Anda harus mengatur crnjob terlebih dahulu. misalnya
Dalam fungsi jadwal:
sumber
Sekarang ada perintah di Laravel 5.1 untuk itu
sumber
Anda dapat terhubung melalui FTP dan menghapus
storage\framework\views
folder untuklaravel 5
atauapp\storage\views
untuklaravel 4
.sumber
Untuk menghapus semua cache di luar CLI , Lakukan ini; Ini berhasil untuk saya.
sumber
config:cache
akan menghapus dan menyimpan konfigurasi - jadi saya rasa tidak perlu menambahkan keduanyaakan menghapus tampilan cache
sumber
php artisan cache:clear
tersebut diminta. Ini tidak akan menghapus cache yang dilihat yang disimpan di folder penyimpanan, yang memang dibutuhkan.Anda dapat melakukan ini jika Anda menggunakan
Lumen
fromLaravel
padaroutes/web.php
file Anda :sumber
Anda juga dapat melakukannya melalui router, mirip dengan jawaban Francesco tetapi dengan konfigurasi router yang lebih rapi
Kemudian jalankan dengan mengunjungi http: //myapp.test/artisan/cache-clear dll. Jika Anda perlu menambahkan / mengedit perintah Artisan yang valid cukup perbarui array $ validCommands.
sumber
Ini berhasil untuk saya. Dalam proyek Anda, buka: storage> framework> views. Hapus semua file di sana dan segarkan halaman Anda.
sumber
Coba ini juga
untuk cli
php artisan clear: cache
untuk menggunakan perintah tukang
});
[ https://www.tutsmake.com/laravel-clear-cache-using-artisan-command-cli/][1]
sumber
Menggunakan halaman ini beberapa kali untuk menyalin dan menempelkan perintah cepat ke komposer, jadi saya menulis perintah yang melakukan perintah ini dalam satu perintah pengrajin tunggal.
Tempatkan di
app\Console\Commands\Admin
folderlalu jalankan perintah di komposer
php artisan traqza:clear-everything
Selamat membuat kode.
Github -> https://github.com/Traqza/clear-everything
sumber
Meskipun saya sangat tidak setuju dengan gagasan menjalankan aplikasi laravel di shared hosting (ide yang buruk di mana-mana), paket ini kemungkinan akan menyelesaikan masalah Anda. Ini adalah paket yang memungkinkan Anda menjalankan beberapa perintah artisan dari web. Ini jauh dari sempurna, tetapi dapat bekerja untuk beberapa kasus penggunaan.
https://github.com/recca0120/laravel-terminal
sumber
Cache :: flush (); https://laravel.com/docs/5.7/cache#events Pekerjaan ini di kelas Handler extends ExceptionHandler
sumber
Saya percaya pendekatan yang lebih efisien untuk ini adalah dengan menggunakan modul pekerjaan cron di panel admin server bersama untuk menjalankan perintah penjadwal laravel yang pada gilirannya akan memanggil perintah pengrajin yang dikonfigurasi, sesuatu seperti ini harus melakukan pekerjaan:
Dengan pengaturan scheduler di cron, Anda dapat mengedit metode jadwal di \ App \ Console \ Kernel.php untuk memanggil perintah artisan yang tepat, seperti ini:
Anda selalu dapat menghapus baris di atas setelah perintah dijalankan
sumber