it-swarm.it

restrizione open_basedir in vigore nonostante la directory dei file all'interno della radice web

Quando provo a caricare un logo sul mio sottotema Zen 3.1 (Aspetto> Impostazioni) viene visualizzato il seguente errore:

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.  

Succede anche se ho i percorsi in Configurazione> Media> File System impostato per essere all'interno della web root.

  • Percorso del file system pubblico: sites/[la mia directory]/files [permesso 775]
  • Directory temporanea: sites/[la mia directory]/files/tmp [permesso 755]

Sembra che Drupal tenta di salvare un file temporaneo in/tmp/sebbene la directory temporanea sia impostata su qualcosa di diverso.

Come posso risolvere il problema per poter caricare un file?

6
Michał Pękała

La chiave qui è che PHP sta tentando di creare il file temporaneo in una directory pubblica. Se fai riferimento alle tue PHP, scopri cosa è specificato per "upload_tmp_dir". Usa una chiamata phpinfo () per visualizzarlo, disponibile anche nel Rapporto sullo stato facendo clic sul numero di versione PHP. Questa directory ha privilegi speciali che open_basedir non bloccherà. Imposta la tua directory drupal temp su questo percorso esplicitamente e dovrebbe funzionare.

4
codexmas