Erreur activation PHP

  • Créateur du sujet Créateur du sujet babastutz
  • Date de début Date de début
A

Anonyme

Invité
Bonjour,

J'ai fait le pas et j'ai reçu mon MAC cette semaine.

Je fais beaucoup de développement Web et plus particulièrement du développement PHP.

J'ai activé Apache et ensuite, j'ai modifié httpd.conf. J'ai enlevé le # devant loadmodule de PHP et ensuite j'ai modifié le documentRoot à /Users/monUtilisateur/Sites

Le problème c'est que quand j'essais de lancé un fichier PHP avec seulement phpinfo(); dedans, j'ai cette erreur :

Bloc de code:
[B]Warning[/B]:  Unknown: failed to open stream: Permission denied in [B]Unknown[/B] on line [B]0[/B]

[B]Fatal error[/B]:  Unknown: Failed opening required '/Users/monUtilisateur/Sites/phpinfo.php' (include_path='.:') in [B]Unknown[/B] on line [B]0[/B]

Quelqu'un connait-il cette erreur ?
 
J'ai remis le DocumentRoot par défaut et j'ai ajouté un VirtualHost :

Bloc de code:
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/Users/monUser/Sites"
    ServerName monUser
    ErrorLog "/Users/monUser/Sites/logs/error_dev.log"
    CustomLog "/Users/monUser/Sites/logs/access_dev.log" common
</VirtualHost>
Maintenant j'ai une erreur 404... Personne n'a configuré PHP pour fonctionner avec son dossier Sites ?
 
J'ai remis le DocumentRoot par défaut et j'ai ajouté un VirtualHost :

Bloc de code:
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/Users/monUser/Sites"
    ServerName monUser
    ErrorLog "/Users/monUser/Sites/logs/error_dev.log"
    CustomLog "/Users/monUser/Sites/logs/access_dev.log" common
</VirtualHost>
Maintenant j'ai une erreur 404... Personne n'a configuré PHP pour fonctionner avec son dossier Sites ?
Ton serveur (et donc php) n'a pas le droit d'accès en lecture sur le fichier, c'est dit dans l'erreur.

Faut que tu fasse un "chmod 644 /Users/monUtilisateur/Sites/phpinfo.php" dasn ton terminal ça devrait corriger l'erreur.
 
Ton serveur (et donc php) n'a pas le droit d'accès en lecture sur le fichier, c'est dit dans l'erreur.

Faut que tu fasse un "chmod 644 /Users/monUtilisateur/Sites/phpinfo.php" dasn ton terminal ça devrait corriger l'erreur.

Oui j'ai compris que dans le premier contexte je n'avais pas les droits. Par contre, je ne comprends pas le fait que mon virtualhost ne fonctionne pas...
 
Hello,

Dans ton virtualhost, à la ligne :
Bloc de code:
ServerName monUser

Si monUser correspond à ton nom d'utilisateur, c'est normal que tu ne puisses pas atteindre le serveur car monUser n'est pas un DNS.

Tu pourrais essayer par exemple avec :
Bloc de code:
ServerName localhost
ou
Bloc de code:
ServerName nomDeTaMachine.local

Je viens de faire un essai et ça a fonctionné, j'ai placé mon virtualhost sous la ligne "Listen 80".
 
Hello,

Dans ton virtualhost, à la ligne :
Bloc de code:
ServerName monUser

Si monUser correspond à ton nom d'utilisateur, c'est normal que tu ne puisses pas atteindre le serveur car monUser n'est pas un DNS.

Tu pourrais essayer par exemple avec :
Bloc de code:
ServerName localhost
ou
Bloc de code:
ServerName nomDeTaMachine.local

Je viens de faire un essai et ça a fonctionné, j'ai placé mon virtualhost sous la ligne "Listen 80".
Ah mais je pensais qu'il avait ajouté une ligne dans son /etc/hosts pour que monUser soit associé à 127.0.0.1, ben oui alors c'est ça le problème :).
 
Hello,

Dans ton virtualhost, à la ligne :
Bloc de code:
ServerName monUser
Si monUser correspond à ton nom d'utilisateur, c'est normal que tu ne puisses pas atteindre le serveur car monUser n'est pas un DNS.

Tu pourrais essayer par exemple avec :
Bloc de code:
ServerName localhost
ou
Bloc de code:
ServerName nomDeTaMachine.local
Je viens de faire un essai et ça a fonctionné, j'ai placé mon virtualhost sous la ligne "Listen 80".

oui d'accord, j'ai compris mon erreur. En fait ce que je voulais faire, c'est pas un virtualhost mais un alias !

donc voilà la bête :

Bloc de code:
Alias /dev "Users/monUser/Sites"
<Directory "Users/monUser/Sites">
    Options Indexes Multiviews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
La redirection fonctionne. Si je vais sur http://localhost/dev j'ai bien mon index.html qui s'ouvre. Par contre, toujours pas de php (Permission denied).

Dois-je obligatoirement modifier les droits de mon dossier monUser ou est-ce que je peux seulement changer les droits du dossier Sites
 
oui d'accord, j'ai compris mon erreur. En fait ce que je voulais faire, c'est pas un virtualhost mais un alias !

donc voilà la bête :

Bloc de code:
Alias /dev "Users/monUser/Sites"
<Directory "Users/monUser/Sites">
    Options Indexes Multiviews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
La redirection fonctionne. Si je vais sur http://localhost/dev j'ai bien mon index.html qui s'ouvre. Par contre, toujours pas de php (Permission denied).

Dois-je obligatoirement modifier les droits de mon dossier monUser ou est-ce que je peux seulement changer les droits du dossier Sites
Normalement le dossier Sites devrait déjà être accessible par le serveur :-/

Essaye de réparer les autorisation peut-être ?

Et passe le "AllowOverride None" à All ça t'évitera de revenir dans quelques jours ou semaines demander pourquoi ton .htaccess marche pas :D ;)
 
Normalement le dossier Sites devrait déjà être accessible par le serveur :-/

Essaye de réparer les autorisation peut-être ?

Et passe le "AllowOverride None" à All ça t'évitera de revenir dans quelques jours ou semaines demander pourquoi ton .htaccess marche pas :D ;)

Réparer les autorisations ? Pourtant je n'y ai pas touché. Comment fait-on? je suis nouveau dans l'univers mac...
 
Tu peux réparer les autorisations depuis Utilitaire de Disque (/Applications/Utilitaires/Utilitaire de disque.app).

Mais je pense que c'est plus un problème de droits sur le fichier .php voire dossier parent. T'as plusieurs solution :

- mettre le groupe www comme groupe du fichier.
- mettre ton fichier en lecture pour tout le monde.

Perso en local je me prend pas le chou avec les droits d'accès, dès que y'a un problème 777 et réglé.

Sinon p4bl0 a bien fait de directement traiter les htaccess, du coup j'ajoute GD : http://www.kenior.com/macintosh/adding-gd-library-for-mac-os-x-leopard
 
J'ai recréé un fichier php avec smultron et maintenant c'est ok !

En tout cas merci de m'avoir aidé les gars !
C'étais donc certainement bien un problème de droit.
En générale mettre les fichiers en 644 et les dossiers en 755 est parfait.


@iMatthieu: le 777 partout au hasard c'est pas terrible quand même ^^, évite le plus possible ;)