it-swarm-id.com

pembatasan open_basedir berlaku meskipun direktori file dalam root web

Saat mencoba mengunggah logo ke subtitle Zen 3.1 saya (Appearance> Settings) saya mendapatkan kesalahan berikut:

Warning: is_file(): open_basedir restriction in effect. File(/tmp/phpillr69) is not within the allowed path(s): (/home/testwww/web/) in image_get_info() (line 126 of /home/testwww/web/informator/includes/image.inc). 
Warning: realpath(): open_basedir restriction in effect. File(/tmp/phpillr69) is not within the allowed path(s): (/home/testwww/web/) in drupal_realpath() (line 2177 of /home/testwww/web/informator/includes/file.inc). 
Warning: getimagesize(): Filename cannot be empty in image_Gd_get_info() (line 349 of /home/testwww/web/informator/modules/system/image.Gd.inc). 
The specified file logo.gif could not be uploaded. Only JPEG, PNG and GIF images are allowed.  

Itu terjadi meskipun saya memiliki jalur di Configuration> Media> File System diatur ke dalam root web.

  • Jalur sistem file publik: situs/[direktori saya]/file [izin 775]
  • Direktori sementara: situs/[direktori saya]/file/tmp [izin 755]

Tampaknya Drupal mencoba menyimpan file sementara di/tmp/meskipun direktori sementara diatur ke sesuatu yang berbeda.

Bagaimana saya bisa memperbaiki masalah agar dapat mengunggah file?

6
Michał Pękała

Kuncinya di sini adalah PHP sedang mencoba membuat file sementara di direktori publik. Jika Anda merujuk ke pengaturan PHP Anda, cari tahu apa yang ditentukan untuk 'upload_tmp_dir'. Gunakan panggilan phpinfo () untuk menampilkan ini, juga tersedia di Laporan Status dengan mengklik pada versi versi PHP. Direktori ini memiliki hak istimewa khusus yang open_basedir tidak akan memblokir. Setel direktori Anda drupal temp ke path ini secara eksplisit dan itu akan berfungsi.

4
codexmas