Maison >développement back-end >Problème PHP >Comment définir les autorisations PHP dans Apache
Comment définir les autorisations php dans Apache : 1. Accordez les autorisations sur le fichier 0777 lui-même ; 2. Changez la propriété en l'utilisateur Apache "www-data" et accordez au propriétaire les autorisations d'écriture 3. Ajoutez l'utilisateur ; au groupe " www-data ", puis regroupez les autorisations d'écriture.
Recommandé : "Tutoriel vidéo PHP"
Questions spécifiques :
Comment donner à Apache l'autorisation d'écriture sur le répertoire personnel ?
Mon serveur est dans /var/www/html J'ai un script php dans /var/www/html/fileio_test/io_test.php
<?php $logging = <<< LOG This is a test LOG; $testfile = fopen('/home/djameson/test.txt', 'a'); fwrite ($testfile, $logging); fclose($testfile); ?>
Quand j'essaie d'exécuter ce script, je got
Warning: fopen(/home/djameson/test.txt): failed to open stream: Permission denied in /var/www/html/fileio_test/io_test.php on line 7 Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/html/fileio_test/io_test.php on line 8 Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/html/fileio_test/io_test.php on line 9
Comment faire en sorte qu'Apache écrive dans mon répertoire personnel ? Le serveur fonctionne sur Fedora 20.
Solution :
Étant donné que vos fichiers se trouvent dans votre répertoire personnel, je vous recommande d'utiliser l'une des méthodes suivantes.
Accordez les autorisations 0777 sur le fichier lui-même.
chmod 0777 /home/djameson/test.txt
Changez la propriété en utilisateur Apache www-data et accordez l'autorisation d'écriture au propriétaire.
Sudo chown www-data:www-data /home/djameson/test.txt chmod 0744 /home/djameson/test.txt
Ajoutez votre utilisateur au groupe www-data ou vice versa, ajoutez l'utilisateur www-data à votre groupe. Regroupez ensuite les autorisations d’écriture.
Sudo usermod -a -G www-data djameson chmod 0764 /home/djameson/test.txt
Remarque : je suppose que le nom d'utilisateur et le nom du groupe Apache sont respectivement www-data et www-data. Vous devez modifier le nom d'utilisateur/groupe Apache du serveur en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!