Apabila menggunakan rangka kerja Laravel untuk membangunkan tapak web, anda mungkin menghadapi beberapa masalah, seperti imej yang tidak boleh diakses. Dalam artikel ini, kita akan membincangkan cara menyelesaikan masalah ini.
Jika imej anda tidak boleh dimuatkan, sahkan dahulu sama ada laluan imej itu betul. Dalam rangka kerja Laravel, imej biasanya disimpan dalam direktori awam. Jika imej anda disimpan dalam direktori lain, anda perlu menentukan laluan yang betul.
Sebagai contoh, jika imej anda disimpan dalam direktori awam/imej, anda boleh menggunakan pernyataan berikut dalam kod untuk mengakses imej:
<img src="{{ asset('images/logo.png') }}">
Sila ambil perhatian bahawa aset( ) fungsi akan Laluan itu ditukar kepada laluan mutlak. Dalam contoh ini, kami menentukan laluan relatif imej, fungsi asset() akan menukarnya kepada laluan mutlak, kod HTML akhir akan serupa dengan:
<img src="http://yourdomain.com/images/logo.png">
Jika laluan imej anda betul , tetapi masih Tidak dapat memuatkan, sila teruskan membaca.
Jika laluan imej anda betul tetapi masih tidak boleh dimuatkan, anda perlu mengesahkan sama ada kebenaran fail imej adalah betul. Pada sistem Unix/Linux, kebenaran fail adalah sangat penting untuk kebolehbacaan dan kebolehtulisan fail.
Dalam Laravel, fail dalam direktori awam biasanya boleh dibaca. Anda boleh menggunakan arahan chmod untuk menetapkan kebenaran fail. Dengan mengandaikan bahawa fail imej anda disimpan dalam direktori awam/imej, anda boleh menggunakan arahan berikut untuk menetapkan kebenaran fail:
chmod -R 755 public/images
Ini akan membuat kebenaran semua fail dan subdirektori dalam direktori awam/imej 755, Ini bermakna ia boleh dibaca oleh semua orang.
Jika kebenaran fail ditetapkan dengan betul tetapi imej masih tidak dapat dimuatkan, lihat langkah seterusnya.
Jika imej masih tidak dapat dimuatkan, anda perlu mengesahkan sama ada pelayan Apache dikonfigurasikan dengan betul. Dalam fail konfigurasi Apache, anda perlu menetapkan AllowOverride All untuk mendayakan fail .htaccess. Fail .htaccess digunakan untuk peraturan URL Tulis Semula, yang sangat penting untuk rangka kerja Laravel.
Pada sistem Linux, fail konfigurasi Apache biasanya terletak di /etc/httpd/conf/httpd.conf atau /etc/apache2/apache2.conf. Anda boleh menemui pernyataan yang serupa dengan yang berikut dalam fail ini:
<Directory "/var/www/html"> AllowOverride None Require all granted </Directory>
Tukar AllowOverride None kepada AllowOverride All dan mulakan semula Apache, yang mungkin menyelesaikan masalah.
Ringkasan
Dalam rangka kerja Laravel, mengakses imej tidak sukar, tetapi masih terdapat beberapa butiran yang perlu diberi perhatian. Mula-mula anda perlu mengesahkan bahawa laluan ke imej adalah betul, kemudian semak kebenaran fail, dan akhirnya mengesahkan bahawa pelayan Apache dikonfigurasikan dengan betul. Jika anda mengikuti langkah di atas dan masih tidak dapat menyelesaikan masalah, adalah disyorkan untuk menyemak dokumentasi rasmi Laravel atau mendapatkan bantuan tepat pada masanya daripada forum yang berkaitan.
Atas ialah kandungan terperinci Menganalisis dan menyelesaikan masalah imej yang tidak boleh diakses dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!