2010-06-14 8 views
1

Je commence à percer les mystères de PHP et j'ai configuré le PHP Snow Leopard pré-installé et activé le serveur Apache dans les préférences du système. Jusqu'ici tout va bien: cela fonctionne si vous mettez un fichier PHP dans votre répertoire ~/Sites. Comme j'ai mes projets dans un répertoire code/projects, j'ai créé un lien symbolique depuis le répertoire ~/Sites vers le répertoire/projects/one-project/php-dir et bang !, une erreur 403: accès interdit .Utiliser PHP avec l'installation par défaut de Mac Apache + PHP

J'ai changé les permissions des dirs en 777, mais pas de chance.

Est-ce que quelqu'un utilise la configuration par défaut de Snow Leoapard pour le développement de PHP et si oui, comment reliez-vous à votre base de code?

Merci à l'avance, Juan

+0

Je n'ai jamais pu comprendre comment [lire: avoir la patience] pour installer l'installation Apache de Snow Leopard. Personnellement, je trouve MAMP plus facile. Mais j'espère que vous aurez résolu votre problème! – Jack

Répondre

0

Cela pourrait fonctionner si vous définissez FollowSymLinks dans votre configuration d'Apache, mais je suggère de mettre les fichiers PHP sous la racine Web directement. Une bonne méthode consiste à placer les fichiers de présentation sous la racine Web et à inclure/requérir toute bibliothèque directement à partir de l'emplacement où ils se trouvent dans le répertoire code/projects (en supposant que dir soit lisible par l'utilisateur du serveur Web). Le répertoire include ne doit pas être accessible en écriture par le serveur Web, pour des raisons de sécurité. Conservez-le sous votre compte d'utilisateur et définissez les autorisations sur 744.

0

Je présume que vous avez ~/code/projets/projeta/php-dir et ~/sites/php-dir

Vous devez vous assurer que le répertoire au-dessus du répertoire que vous sym-linking est lisible par le serveur web. Dans ce cas, vous devez définir les autorisations sur le dossier à 755. Ou au moins cela a résolu les choses pour moi.

0

vous aurez probablement besoin d'ajouter une directive répertoire dans votre fichier httpd.conf ainsi ...

<Directory code/projects/one-project/php-dir> 
    order allow,deny 
    allow from all 
</Directory> 

configuration ci-dessus permet d'accéder à partir de toutes les adresses IP de tous les hôtes.

Moi-même j'utilise macports, je le trouve mieux car il isole tout dans le répertoire/opt. Mais c'est un peu de travail pour le faire fonctionner ...