Je suis relativement nouveau pour configurer Apache.
J'ai un script php qui écrit un fichier JSON basé sur des valeurs extraites de i Exécutez ce code en créant une demande XHR. p> $ _ obtenir code>. p>
<Directory "~/Dropbox/Web">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
5 Réponses :
Vous devez vérifier si l'utilisateur sous lequel exécute Apache a la permission d'écrire dans le répertoire. P>
Donc c'est comme ça: p>
Votre serveur Apache est le processus. Le processus fonctionne sous certains utilisateurs (disons www). Le PHP fonctionne sous Apache. Donc, si vous essayez d'écrire dans un répertoire dans PHP, c'est la même chose que si l'utilisateur www se connecte au serveur et essaie de créer un fichier dans le même répertoire. Alors vérifiez qui est propriétaire de ce répertoire et quelle autorisation a-t-elle eu. Vous pouvez le faire par ex. via la commande ls -la code>. Si
www code> sera propriétaire de ce répertoire, vous serez 100% sûr ... P>
Il fonctionne sous la valeur par défaut _www. Donc, si je lui donne la permission, cela devrait fonctionner?
Chown www-Data: www-Data ~ / Dropbox / Web et Chmod 777 ~ / Dropbox / Web
S'il vous plaît ne pas chmod 777 quelque chose sur votre serveur Web face à la face publique.
Vous pouvez essayer de définir les autorisations avec p>
chmod fonction pour PHP et définissez votre répertoire sur / var / www là-bas Vous avez normalement suffisamment d'autorisations. P>
Vérifiez que le fichier autorise soit dans la ligne de commande à l'aide de: ou via votre client FTP si vous avez un accès FTP au fichier / dir. Sinon, vous pouvez changer l'emplacement comme pierrone indiqué ci-dessus. P> p>
Vérifiez les autorisations de fichier / répertoire qu'il tente d'écrire à. Assurez-vous qu'il est écritable par l'utilisateur et / ou le groupe que le processus Apache est en marche comme. P>
Vérifiez également si SELINUX est activé en vérifiant le contenu de / selinux / appliquer. Si c'est le cas, désactivez-le ou assurez-vous que les étiquettes correctes sont définies sur le chemin que vous écrivez. P>
Sachez que parfois, il n'y a absolument aucun moyen de contourner cela en utilisant PHP uniquement. P>
Les deux solutions à cela sont: p>
J'ai souvent trouvé cette dernière option pour travailler mieux. P>
Qu'en est-il des autorisations Chmod du fichier / répertoire, il écrit?
Aucune très bonne idée de mettre un webfolder au dossier racine. Mettez-le à / var / www / comme les autres fichiers. Vous n'avez aucun problème avec les droits.
..chmod? Je n'ai aucune idée de ce que c'est. Peut-être que c'est ce qui me manque.
CHMOD est une fonction POSIX pour définir les autorisations de mode d'utilisation (mode Mod-Modifier CH-CHANGE). Si vous utilisez FTP, vous pouvez voir comment ils sont effectués.