Maison > Questions et réponses > le corps du texte
P粉3767388752023-08-28 09:42:11
Étape 1 : Identifier l'utilisateur PHP
Créez un fichier PHP avec le contenu suivant :
<?php echo `whoami`; ?>
Téléchargez-le sur votre serveur Web. Le résultat devrait ressembler à ce qui suit :
www-data
Donc, les utilisateurs PHP le sont www-data
.
Étape 2 : Déterminer le propriétaire de l'annuaire
Ensuite, vérifiez les détails du répertoire web via la ligne de commande :
ls -dl /var/www/example.com/public_html/example-folder
Le résultat devrait ressembler à ce qui suit :
drwxrwxr-x 2 exampleuser1 exampleuser2 4096 Mar 29 16:34 example-folder
Par conséquent, le propriétaire de cet annuaire est exampleuser1
.
Étape 3 : Changer le propriétaire du répertoire en utilisateur PHP
Ensuite, remplacez le propriétaire du répertoire Web par l'utilisateur PHP :
sudo chown -R www-data /var/www/example.com/public_html/example-folder
Vérifiez que le propriétaire de l'annuaire web a changé :
ls -dl /var/www/example.com/public_html/example-folder
Le résultat devrait ressembler à ce qui suit :
drwxrwxr-x 2 www-data exampleuser2 4096 Mar 29 16:34 example-folder
À ce stade, le propriétaire de example-folder
a été remplacé avec succès par l'utilisateur PHP : example-folder
的所有者已成功更改为 PHP 用户:www-data
.
Fait ! PHP devrait maintenant pouvoir écrire dans le répertoire.
P粉3524080382023-08-28 09:07:16
Un moyen simple consiste à laisser PHP créer d’abord le répertoire lui-même.
<?php $dir = 'myDir'; // create new directory with 744 permissions if it does not exist yet // owner will be the user/group the PHP script is run under if ( !file_exists($dir) ) { mkdir ($dir, 0744); } file_put_contents ($dir.'/test.txt', 'Hello File');
Cela vous évite des problèmes avec les autorisations.