it-swarm-vi.com

hạn chế open_basingir có hiệu lực mặc dù thư mục tệp trong web root

Khi cố gắng tải logo lên chương trình con Zen 3.1 (Giao diện> Cài đặt), tôi gặp lỗi sau:

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.  

Nó xảy ra ngay cả khi tôi có các đường dẫn trong Cấu hình> Phương tiện> Hệ thống tệp được đặt bên trong thư mục gốc.

  • Đường dẫn hệ thống tệp công khai: sites/[thư mục của tôi]/files [allow 775]
  • Thư mục tạm thời: các trang web/[thư mục của tôi]/files/tmp [allow 755]

Có vẻ như Drupal cố lưu tệp tạm thời trong/tmp/mặc dù thư mục tạm thời được đặt thành một cái gì đó khác.

Làm cách nào để khắc phục sự cố để có thể tải lên tệp?

6
Michał Pękała

Chìa khóa ở đây là PHP đang cố tạo tệp tạm thời trong thư mục công cộng. Nếu bạn tham khảo cài đặt PHP, hãy tìm hiểu những gì được chỉ định cho 'upload_tmp_dir'. Sử dụng lệnh gọi phpinfo () để hiển thị thông báo này, cũng có sẵn trong Báo cáo trạng thái bằng cách nhấp vào PHP số phiên bản. Thư mục này có các đặc quyền đặc biệt mà open_basingir sẽ không chặn. Đặt rõ ràng thư mục drupal temp của bạn vào đường dẫn này và nó sẽ hoạt động.

4
codexmas