Hari ini saya mengunggah situs saya ke server, dan saya mendapatkan kesalahan seperti berikut:
Tidak dapat membuat gambar turunan yang terletak di publik: //styles/sponsor_image/public/TerraThermaSponsorLogo.png.
Gaya gambar tidak dapat menghasilkan gambar. Saya telah mencoba mengatur izin pada styles / * folder dengan chmod -R 775 styles/
, dan bahkan mencoba chmod -R 777 styles/
. Pemilik folder tidak apa-apa. Saya tidak mengerti apa yang salah.
Direktori yang terkait dengan publik: // adalah situs / default / file, dan tidak apa-apa.
www-data
, tetapi saya masih mendapatkan kesalahan. Apa lagi yang harus saya lakukan? ImageMagick dikonfigurasi dengan benar, saya menjalankan ini pada server yang memiliki banyak instalasi Drupal.Anda juga harus memastikan Anda memiliki pustaka grafis (seperti php-gd) yang terinstal di server Anda: cek / admin / config / media / image-toolkit (D7).
sumber
Kesalahan berasal dari modul Gambar (inti) dan logikanya terlihat seperti:
Oleh karena itu kesalahan terjadi ketika Drupal memiliki masalah dengan menghasilkan turunan gambar dengan menerapkan semua efek gambar dan menyimpan versi cache dari gambar yang dihasilkan.
Cara termudah mereproduksi masalah (untuk tujuan diagnosa) adalah dengan drush.
Aktifkan image_style_create_derivative () langsung dari drush:
Ganti
picture-123.png
dengan gambar yang ada dari log:Atau gunakan yang sudah ada lainnya, mis
drush sqlq "SELECT * FROM file_managed"
.Jika Anda tidak memiliki akses ke shell, gunakan modul Devel, buka
/devel/php
dan tempel kode PHP di sana.Catatan: Jika
files
folder tersebut dimiliki oleh pengguna Apache, Anda harus masuk sebagai pengguna ini untuk tujuan pengujian. Atau awali dengan perintah drush Andasudo -u www-data
.Ada beberapa kemungkinan berikut.
drush eval "print_r(gd_info());"
.Masalah izin debug dapat dengan mudah dicapai oleh
strace
. Instal dan awali saja perintah yang sedang Anda ujistrace -f
(Anda tidak harus root).Sebagai contoh:
Jika Anda masuk dengan akun berbeda yang memiliki
files
, maka jangan lupa untuk awalan dengan perintah drush Andasudo -u www-data
untuk menjalankan seluruh perintah sebagai pengguna Apache.sumber
Ini juga dapat disebabkan oleh PHP yang dikompilasi tanpa libjpeg (jika gambar yang tidak menghasilkan memiliki sumber jpeg). Periksa output
gd_info()
untuk melihat apakah ada dukungan PHP.sumber