2008-09-30 7 views
0

J'essaye d'installer Php sur Vista (IIS 7). L'installation et la configuration semble être bien. Assez suivi tout ce qui est mentionné dans http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspxphp Violation d'accès

Je peux même faire apparaître un test.php qui est fondamentalement et peut également se connecter à mysql db par le code. Mais lorsque j'essaie d'afficher une autre page php comme la page d'index de drupal ou la page d'index phpmyadmin, cela affiche un message de violation d'accès PHP.

Une idée de ce qui se passe? Aussi est-il un outil de traçage/diagnostic pour php pour retracer ce qui se passe sur le serveur web.

Répondre

3

Dans votre fichier PHP.INI, essayez de commenter toutes les lignes d'extensions et redémarrez IIS. Prenez note que MySQL ne fonctionnera plus. Faites des tests.

En cas de succès, supprimez le commentaire de la ligne mySql. Faites des tests.

Si c'est impossible, je ne peux pas vous aider plus. Je suppose que c'est une extension chargée causant l'erreur. Vous devez trouver lequel ...

Espérons que cela aide.

vIceBerg

1

Je suppose que vous utilisez PHP 5.2.6 (dernière version). Je suppose également que vous utilisez ISAPI à partir des directions dans votre lien.

Il semble y avoir beaucoup de rapports de bogues pour PHP sur IIS avec des violations d'accès.

Here et here ou un list

Jusqu'à présent, la seule suggestion que j'ai trouvé est d'essayer FastCGI au lieu de ISAPI.

Je n'ai jamais eu à jouer avec le débogage PHP lui-même, mes propres scripts de cource, mais pas PHP. Il y a des instructions pour generating a backtrace et quelques general debugging info. Editer - Après avoir lu la réponse de viceBerg, je me suis souvenu d'une autre cause possible: les extensions PHP non thread-safe et IIS ne s'aimant pas. Cela peut valoir la peine de les désactiver tous et de les activer un à la fois, mais ce n'est vraiment utile que si vous pouvez obtenir un script pour provoquer cette erreur de manière cohérente.

Sans une erreur cohérente et reproductible, cela sera très difficile à déboguer.

1

Merci les gars. J'ai désactivé toutes les extensions et j'ai commencé à en ajouter une à la fois et seulement celles que j'avais besoin d'utiliser (mysql, mbstring etc). J'ai également dû copier php.ini dans le dossier System32 (même si je l'avais dans le chemin du système). Voila, ça a marché.

0

Essayez de déplacer le fichier libmysql.dll fourni avec php à windows \ system32

Questions connexes