Нарушение доступа php - PullRequest
       6

Нарушение доступа php

0 голосов
/ 30 сентября 2008

Я пытаюсь установить Php на Vista (IIS 7). Установка и настройка, кажется, в порядке. В значительной степени следовал всему, что упомянуто в http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx

Я даже могу вызвать test.php, который в основном и также может подключаться к mysql db через код. Но когда я пытаюсь вызвать какую-либо другую страницу php, например страницу индекса drupal или страницу индекса phpmyadmin, появляется сообщение о нарушении доступа Php.

Есть какая-нибудь подсказка, что происходит? Также есть некоторый инструмент трассировки / диагностики для php, чтобы отслеживать, что происходит на веб-сервере.

Ответы [ 4 ]

3 голосов
/ 30 сентября 2008

В вашем файле PHP.INI попробуйте закомментировать все строки расширений и перезапустите IIS. Обратите внимание, что MySql больше не будет работать. Пройдите несколько тестов.

Если все прошло успешно, раскомментируйте строку mySql. Пройдите несколько тестов.

Если это не удачно, я не могу вам больше помочь. Я подозреваю, что это загруженное расширение вызывает ошибку. Ты должен найти какой ...

Надеюсь, это поможет.

vIceBerg

1 голос
/ 01 октября 2008

Спасибо, ребята. Я отключил все расширения и начал добавлять по одному и только те, которые мне нужно было использовать (mysql, mbstring и т. Д.). Мне также пришлось скопировать php.ini в папку System32 (хотя он был в системном пути). Вуаля, это сработало.

1 голос
/ 30 сентября 2008

Я предполагаю, что вы используете PHP 5.2.6 (последняя версия). Я также предполагаю, что вы используете ISAPI из указаний в вашей ссылке.

Похоже, что в IIS много сообщений об ошибках с нарушениями доступа.

Здесь и здесь или список

Пока единственное, что я нашел, это попробовать FastCGI вместо ISAPI.

Мне никогда не приходилось связываться с отладкой самого PHP, моих собственных сценариев курса, но не с PHP. Существуют инструкции для генерации обратного следа и некоторых общих отладочных данных .

Редактировать - Прочитав ответ ViceBerg, я вспомнил еще одну возможную причину - не поддерживающие потоки расширения PHP и IIS, которые не нравятся друг другу. Возможно, стоило бы отключить их все и включить их по одному, но это действительно полезно, если вы можете заставить скрипт вызывать эту ошибку последовательно.

Без постоянной воспроизводимой ошибки отладку будет очень сложно.

0 голосов
/ 29 января 2009

Попробуйте переместить libmysql.dll, поставляемый с php, в windows \ system32

...