Maison >développement back-end >Problème PHP >Comment définir les autorisations PHP dans Apache

Comment définir les autorisations PHP dans Apache

藏色散人
藏色散人original
2020-09-12 10:46:044602parcourir

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.

Comment définir les autorisations PHP dans Apache

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(&#39;/home/djameson/test.txt&#39;, &#39;a&#39;); 
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn