fopen() échoue to open stream: permission denied, pourtant, l'autorisation doit être valide

Donc, j'ai cette erreur:

Warning: fopen(/path/to/test-in.txt) [function.fopen]: failed to open stream: Permission denied

Effectuer ls -l dans le répertoire où test-in.txt est produit la sortie suivante:

-rw-r--r-- 1 $USER $USER 1921 Sep  6 20:09 test-in.txt
-rw-r--r-- 1 $USER $USER    0 Sep  6 20:08 test-out.txt

Afin d'obtenir au-delà de cela, j'ai décidé d'effectuer les opérations suivantes:

chgrp -R www-data /path/to/php/webroot

Et puis n':

chmod g+rw /path/to/php/webroot

Encore, je reçois toujours ce message d'erreur quand je lance mon script php5 pour ouvrir le fichier. Pourquoi est-ce arrivé? J'ai essayé ce à l'aide de la LAMPE ainsi que cherokee par CGI, de sorte qu'il ne peut pas être présent.

Est-il une solution?

Modifier

Je vais aussi ajouter que je suis juste à se développer via localhost droit maintenant.

Mise à jour - PHP fopen() ligne

$fullpath = $this->fileRoot . $this->fileInData['fileName'];

$file_ptr = fopen( $fullpath, 'r+' );

Je dois aussi mentionner que je voudrais rester avec Cherokee, si possible. Quel est cet accord sur la définition des autorisations de fichier pour Apache/Cherokee?

Et ce que les utilisateurs est le serveur web exécute en tant que, et il a l'autorisation d'ouvrir le fichier?
il s'exécute en tant que mon utilisateur. Comme pour le deuxième, je peux cat le fichier texte sans erreurs, si cela aide.
Êtes-vous sûr - le port 80 est un port privilégié et je doute que vous puissiez l'ouvrir. S'il vous plaît ajouter la ligne PHP ainsi
Pouvez-vous s'il vous plaît écrivez l'autorisation sur CHAQUE répertoire sur le VRAI chemin d'accès au fichier?
Il suffit de changer la permission. En hôte linux clic droit sur le fichier et cliquez sur modifier les autorisations. Puis faire toutes les autorisations activer.

OriginalL'auteur zeboidlund | 2012-09-07