Volevo partecipare a tutti voi come ho superato il register_global abilitato del mio fornitore di spazio web, che comporta il seguente errore in fase di installazione:
register_globals is enabled. Drupal requires this configuration directive to be disabled. Your site may not be secure when register_globals is enabled. The PHP manual has instructions for how to change configuration settings. (Attualmente utilizzata PHP x.x.x)
Le informazioni le ho prese da un forum inglese, di cui, sinceramente, ho perso il link.
N.B. Di seguito con www.miositofittizio.it si indicherà un sito fittizio che corrisponde al nome del dominio ospitato sul fornitore.
Passo 1 - Ottenere alcune informazioni
Abbiamo bisogno di due informazioni:
- Dove è situato il file php.ini sul server
- Qual è il path assoluto alla nostra home directory remota
A tale scopo creare un file [b]info.php[/b] con il classico
<?php phpinfo() ?>
Uploadarlo (per esempio) sulla root del proprio hosting. Dunque aprire con il browser:
http://www.miositofittizio.it/info.php[/codefilter_code]
Cercare nella pagina che si apre quest'informazione:
Configuration File (php.ini) Path
Nel mio caso, tale valore è:
/etc/apache/php.ini
Incolliamola in un file testo vuoto e procediamo per la seconda informazione, il path assoluto sul server alla nostra home directory:
DOCUMENT_ROOT
Nel mio caso, tale valore è:
/web/htdocs/www.miositofittizio.it/home/
Passo 2 - Copiamo il file php.ini nella nostra home directory
Creiamo un file php (es. [b]copia.php[/b]) in cui scriveremo un codice che copia il file php.ini precedentemente determinato nella nostra home directory:
<?php
system("cp /etc/apache/php.ini /web/htdocs/<a href="http://www.miositofittizio.it/home/"" rel="nofollow">www.miositofittizio.it/home/"</a>);
?>
Dunque aprire con il browser:
http://www.miositofittizio.it/copia.php[/codefilter_code]
La pagina bianca del browser confermerà che il file php.ini è stato copiato nella nostra home directory.
Passo 3 - Modifichiamo il file php.ini
Scaricare il file php.ini (si trova nella directory radice della nostra home remota) in una directory locale e apriamolo con un editor (se usate Windows il classico Blocco Note non va bene in quanto non visualizza correttamente il carattere di ritorno del formato testo UNIX; usare editor evoluti come "Programmer's Editor" ecc.)
Cercare questa opzione:
;register_globals = Off
register_globals = On
Modificarla in:
register_globals = Off
;register_globals = On
Cercare questa seconda opzione:
;session.save_path = /tmp
Modificarla in:
;session.save_path = /tmp
session.save_path = /web/htdocs/www.miositofittizio.it/home/tmp/sessions
[/codefilter_code]
Passo 4 - Creiamo un file .htaccess
Creare un nuovo file testo .htaccess con il seguente contenuto:
<IfModule mod_suphp.c>
suPHP_ConfigPath /web/htdocs/www.miositofittizio.it/home/
<Files php.ini>
order allow,deny
deny from all
</Files>
</IfModule>
Caricarlo sulla directory radice dove è stato copiato Drupal.
Grazie dell'ottima spiegazione, appena ho tempo lo aggiungo come HOWTO, ma prima bisogna ordinare le FAQ.
Grazie
Nel caso di Aruba il problema si risolve dal pannello di controllo selezionando il profilo drupal per php.ini.
Vedi qui: http://www.rfc.it/drupal/content/drupal-registerglobal
Fabrizio
www.rfc.it