Article ID: 432, created on Jun 19, 2012, last review on Aug 12, 2014

  • Applies to:
  • Plesk for Linux/Unix
  • Plesk 11.5 for Windows

Causa

Questo errore indica che lo script PHP sta tentando di accedere a una cartella per cui l'accesso non è consentito. Per motivi di sicurezza, le opzioni PHP per i domini ospitati in Parallels Plesk Panel (PP) consentono l'accesso alle cartelle /tmp e http(s)docs soltanto in modo predefinito. Le restrizioni sono limitate dalla variabile PHP open_basedir per ogni host virtuale separatamente.

Soluzione

Nel caso in cui sia necessario consentire l'accesso degli script PHP di un determinato host virtuale ad una o varie cartelle aggiuntive, è necessario configurare l'opzione 'open_basedir' per l'host virtuale con il valore del nuovo percorso, dividendo i nomi delle cartelle con due punti, come descritto di seguito.
Avviso: L'esecuzione di tale azione potrebbe mettere a rischio il server. Accertarsi di capire le conseguenze.


Per Parallels Plesk Panel 10.3 e versioni successive:

È possibile eseguire tale operazione nell'interfaccia web di PP. Consultare l'articolo:

113861 [Info] Personalizzare le impostazioni PHP per un determinato dominio in PP 10.3 e le versioni successive


In versioni di PP precedenti a 10.3:

Questa azione può essere effettuata solo da un utente con privilegi root sui file vhost.conf o vhost_ssl.conf dei domini (per host virtuale SSL). Per maggiori informazioni, leggere l'articolo 'Includere direttive nel file di configurazione di Web Serve'
nella documentazione di Parallels Plesk Panel.

Dopo aver applicato queste modifiche, è necessario ricreare i file di configurazione di Apache e riavviare il servizio Apache utilizzando il seguente comando nella shell. Se il file vhost(_ssl).conf è stato rilevato, verrà automaticamente aggiunto al file httpd.include del dominio:

Questo comando è per PP 10.x:
~# /usr/local/psa/admin/sbin/httpdmng --reconfigure-all


Per la versione 9.x e quelle precedenti, usare invece il seguente comando:
~# /usr/local/psa/admin/sbin/websrvmng -a -v


NOTA: Se non si esegue il comando summenzionato, vhost.conf o vhost_ssl.conf non saranno inclusi nella configurazione di Apache e le modifiche non avranno effetto.
 

Esempio:

NOTA:HTTPD_VHOSTS_D deve essere sostituito da un percorso reale della posizione del dominio, che può variare in base al sistema operativo e versione Parallels Plesk Panel. È possibile trovare il valore corrente nel file /etc/psa/psa.conf. ADD_PATH deve essere sostituito da un percorso reale della cartella alla quale stiamo concedendo l'accesso.

Crea HTTPD_VHOSTS_D/domain.com/conf/vhost.conf: 

---8<---

php_admin_value open_basedir HTTPD_VHOSTS_D/domain.com/httpdocs:/tmp:/ADD_PATH


--->8---

 Crea HTTPD_VHOSTS_D/domain.com/conf/vhost_ssl.conf:

---8<---

php_admin_value open_basedir HTTPD_VHOSTS_D/domain.com/httpsdocs:/tmp:/ADD_PATH


--->8---

Per i sottodomini, creare il file HTTPD_VHOSTS_D/domain.tld/subdomains/subdomain/conf/vhost.conf corrispondente:

---8<---

php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs:/tmp:/ADD_PATH"


--->8---

 Inoltre, è possibile configurare un 'open_basedir' globale per un percorso specifico richiesto in /etc/php.ini. Per esempio:

---8<---
open_basedir = "/tmp"
--->8---

 Una volta modificato php.ini, riavviare Apache.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8 46a8e394d6fa13134808921036a34da8 bd7fc88cf1b01f097749ae6f87272128

Email subscription for changes to this article
Save as PDF