QUEL EST LE COMPORTEMENT PAR DEFAUT ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ; Vide sur le php.ini d'origine. Je laisse à vide, le comportement par défaut est appliqué par PHP. doc_root =
En l'occurence, on parle de quel fichier / dossier / configuration pour le "document root" du serveur ? A quoi sert t'il ce "document root" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ;Définition en PHP5. ;Le dossier racine de PHP sur le serveur. Uniquement utilisé si non vide. ; Si PHP est configuré avec le safe mode, aucun fichier n'est servi en dehors de ce répertoire. ; Si PHP n'a pas été compilé avec FORCE_REDIRECT, vous devez définir le doc_root si vous utilisez PHP en tant que CGI sous n'importe quel serveur web (autre que IIS). ; Alternativement, vous pouvez utiliser la configuration cgi.force_redirect. ; Définition en PHP4. ; Ajouter un contenu interactif dans votre serveur web, comme des scripts ou des exécutables, est souvent considéré comme une pratique non-sécurisée. ; Si, par erreur le script n'est pas exécuté mais affiché comme une page HTML classique, il peut en résulter un vol de propriété intellectuelle ou ; des problèmes de sécurité à propos des mots de passe notamment. ; Donc, la plupart des administrateurs préfèrent mettre en place un répertoire spécial pour les scripts qui est uniquement accessible par le biais du binaire CGI du PHP, et donc, ; tous les fichiers de ce répertoire seront interprétés et non affichés tels quel. ; Aussi, si vous ne pouvez pas utiliser la méthode présentée ci-dessus, il est nécessaire de mettre en place un ; répertoire "doc_root" différent de votre répertoire "document root" de votre serveur web.
Un autre fichier à configurer pour documentRoot.
il faut aller dans /etc/apache2/sites-available et modifier le fichier DEFAULT là ou il est indiqué "documentRoot". On y remplace /var/www par le chemin de son choix.
Ensuite on relance apache2: /etc/init.d/apache2 restart
& / ou :
configuration /etc/httpd/conf/httpd.conf
Pourquoi définir un doc_root différent ?
Les scripts PHP mis en ligne fonctionneront t'ils encore si la directive doc_root est configurée ?
C'est quoi la variable d'environnement PHP_DOCUMENT_ROOT ? Comment la configurer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2; Vous pouvez utiliser la directive ini.doc-root dans le fichier de configuration ; ou vous pouvez affecter la variable d'environnement PHP_DOCUMENT_ROOT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ; Si cette variable d'environnement est affectée, le binaire CGI du PHP construira toujours le nom de fichier à ouvrir avec ; doc_root et le "path information" de la requête, et donc vous serez sûr qu'aucun script n'est exécuté en dehors du répertoire prédéfinit. ; (à l'exception du répertoire désigné par la directive user_dir).
Je reprend :
- QUEL EST LE COMPORTEMENT PAR DEFAUT DE doc_root =
- C'est quoi le document root du serveur ? Dans Vhost ?
- Pourquoi définir un doc_root différent ?
- Les scripts PHP en ligne fonctionneront t'ils encore ?
- C'est quoi la variable d'environnement PHP_DOCUMENT_ROOT ?
Pouvez vous m'aider a mieux comprendre les 2 directives dans un contexte d'utilisation ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 user_dir = ; extension_dir = "./" ; Une autre option possible ici est la directive ini.user-dir. Lorsque la directive n'est pas ; activée, seulement les fichiers contenues dans le répertoire doc_root peuvent être ouverts. Ouvrir un fichier ; possédant l'url `<a href="http://my.host/~user/doc.php3" target="_blank">http://my.host/~user/doc.php3</a>' ne correspond pas à l'ouverture d'un fichier sous le répertoire ; racine de l'utilisateur mais à l'ouverture du fichier `~user/doc.php3' sous le repertoire "doc_root" (oui, un ; répertoire comment par un tilde [~]). ; Si la directive "user_dir" est activée à la valeur `public_php' par exemple, une requête du type ; <a href="http://my.host/~user/doc.php3" target="_blank">http://my.host/~user/doc.php3</a>' ouvrira un fichier appelé `doc.php3' sous le répertoire appelé `public_php' ; sous le répertoire racine de l'utilisateur. Si le répertoire racine des utilisateurs est `/home/user', le fichier ; exécuté sera `/home/user/public_php/doc.php3'. ; user_dir et doc_root sont deux directives totalement indépendantes et donc vous pouvez contrôler l'accès ; au répertoire "document root" séparément des répertoires "user directory".
Partager