РНР 5 в подлиннике

Страница 71 из 554


Гпава 5. Установка РНР и MySQL

145

сконфигурировали СУБД так, чтобы она принимала запросы только с текущей машины.) Пользователь root существует сразу же после инсталляции и получает неограниченный доступ ко всем таблицам и базам данных. При установке MySQL пользователю root не назначается пароль, так что в качестве последнего параметра функции mysqiconnect о передается пустая строка.

Внимание!

ь

Для работы с MySQL в РНР 5 необходимо подключение библиотеки расширения php_mysql.dll. В РНР 4 функции для работы с этой СУБД были встроены в ядро.

Отладка и устранение ошибок

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

Отключение межсетевого экрана (firewall)

Многие начинающие пользователи сталкиваются с проблемой при запуске Apache и MySQL: соответствующие процессы находятся в памяти, однако любая попытка обращения к ним (например, из браузера или PHP-скрипта) приводит к неудаче. Это может быть связано с неправильной настройкой межсетевого экрана (другие распространенные названия — firewall, брандмауэр), который блокирует входящие подключения к неизвестным ему портам (Apache присвоен порт 80, MySQL — 3306). Если вы используете брандмауэр стороннего производителя (Outpost, AtGuard, ZoneAlarm и др.), убедитесь, что в его настройках подключения к локальной машине (localhost, 127.0.0.1) разрешены без всяких ограничений.

Просмотр истории обращения к файлам

При запуске Apache и РНР иногда выдаются весьма странные сообщения об ошибках, вроде "Не удается загрузить файл Z:/usr/local/php5/php5apache.dll". При этом доподлинно известно, что данный файл в указанном месте имеется. Как определить, что в реальности происходит?

На сайте http://www.sysinternals.com имеется масса весьма полезных утилит, позволяющих определить, что происходит в системе в данный конкретный момент. Одна из них — File Monitor (файл filemon.exe) — помогает отслеживать, какие программы к каким файлам обращаются и происходят ли при этом ошибки.

Например, запустите File Monitor, а потом сразу же — Apache. В главном окне программы вы увидите массу записей, по одной на каждое обращение к файлу (рис. 5.1). Можно заметить, что Apache вначале считывает необходимые DLL-библиотеки, затем — httpd.conf, а под конец переходит к запуску РНР (если он установлен в виде модуля). На данном этапе и появляется возможность определить, почему не удается загрузить php5apache.dll: соответствующие строки будут помечены как "File not found".

146

Часть II. Выбор и настройка инструментария

Рис. 5.1. Пример сообщений File Monitor

Утилита File Monitor позволяет настроить фильтры, чтобы отслеживать работу не всех приложений, а только некоторых. Например, вы можете указать ей, чтобы слежение велось исключительно за процессом Apache.

На сайте также имеются программы для слежения за сетевой активностью, процессами, открытыми файлами и т. д.

Просмотр заголовков HTTP

При отладке скриптов, особенно на стадии оптимизации, часто бывает необходимо узнать, какие в точности заголовки шлет браузер и какой ответ на запрос выдает скрипт и сервер. Подручными средствами это сделать не так-то просто: ведь, согласно интерфейсу CGI, сценарий не может получить информации обо всех пришедших заголовках. Браузеры также не предоставляют подобной информации.

Но решение проблемы все-таки существует. Вы можете воспользоваться специальной программой — прокси-сервером (сокращенно его часто называют просто "про-кси" от англ. proxy— "представитель"), которая выступает в роли посредника между браузером и Apache.

При использовании прокси-сервера сеанс связи происходит так:

1. Браузер посылает запрос (вместе со всеми заголовками) прокси-серверу.

2. Прокси-сервер определяет, на какую машину должен быть отослан этот запрос.

3. Прокси-сервер соединяется с Apache и передает ему заголовки, выданные браузером.

4. Apache выдает результат работы скрипта назад прокси-серверу.

5. Прокси-сервер отправляет то, что ему пришло, в браузер пользователя.



  • Горизонтально направленное бурение гнб еще на сайте.

  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006