J'essaie de sauvegarder des données en utilisant HTML et PHP dans localhost sous Ubuntu. Mes fichiers HTML & PHP fonctionnent très bien, mais lorsque j'utilise des commandes pour ouvrir un fichier dans l'hôte local en utilisant
$myfile = fopen("testfile.txt", "w")
cela ne lui permet pas de le créer, mais le fichier PHP fonctionne et lorsqu'il est défini avec des commandes permettant de générer des variables à partir de PHP, il fonctionne bien.
Comment autoriser PHP à créer des fichiers dans Apache dans localhost Ubuntu.
Vous devez autoriser l'utilisateur Apache (généralement www-data
) à créer des fichiers dans ce répertoire. Cela peut être accompli en faisant d'Apache le propriétaire du répertoire. Par exemple, si le répertoire s'appelait my-dir
, vous ouvriez un terminal et exécutiez ceci:
Sudo chown www-data my-dir
Si vous souhaitez modifier tous les dossiers et fichiers de ce répertoire, et pas seulement le répertoire, ajoutez -R comme suit.
Sudo chown -R www-data my-dir
comme indiqué sur la page par défaut d'Apache2 Ubuntu: Par défaut, Ubuntu n'autorise pas l'accès via le navigateur Web à un fichier autre que ceux situés dans/var/www .... Cela signifie que tout répertoire ou fichier dans lequel vous souhaitez écrire doit se trouver sous/var/www. J'ai raté cette information moi-même et je me suis tiré les cheveux pendant un moment en essayant d'écrire dans/tmp etc.