dk lab
Homepage Поиск по сайту Карта сайта Версия для печати Apache:
. .
Apache + Perl + PHP4 + MySQL для Windows 95/98: руководство по установке
Apache + Perl + PHP3 + MySQL для Windows 95/98: руководство по установке
Русский перевод файла httpd.conf
Задать вопрос
Лаборатория dk | Статьи | Apache | Apache + Perl + PHP4 + MySQL для Windows 95/98: руководство по установке

Внимание - не устанавливайте Apache по статье на этой странице!

Существует способ, гораздо более простой и удобный. Сегодня, в международный день потребителя, в рамках проекта Куроводство наконец-то увидел свет Джентльменский набор Web-разработчика. Его ядро — универсальный дистрибутив, включающий Apache, PHP4, Perl и MySQL, а также дружественный инсталлятор. Потрясают новые возможности сервера Apache. Теперь вам не нужно вообще исправлять httpd.conf и файл hosts — система сделает это за вас. Не требуется также возиться с созданием виртуального диска для директорий документов виртуальных хостов. Исчезли сложности при добавлении новых виртуальных хостов — все, что нужно сделать, это просто создать директорию документов в /home. Окно консоли Apache отныне не занимает места на экране, а PHP работает в виде модуля Apache. MySQL уже настроен, вы можете администрировать его при помощи последней версии phpMyAdmin. Дистрибутив занимает менее двух мегабайт, полностью автономен, не изменяет ничего в системной директории Windows и может располагаться в любом каталоге.

Дмитрий Котеров

На странице:

1. Дистрибутивы и ссылки
2. Введение - зачем нужен домашний виртуальный сервер?
3. От слов к делу - установка Apache
          Этап первый - установка
          Этап второй: настройка файла конфигурации Apache
          Этап третий: тестирование Apache
               Проверка html.
               Проверка SSI.
               Проверка CGI.
4. Виртуальные хосты Apache
5. Установка PHP версии 4
          Установка PHP
          Настройка Apache для работы с PHP
          Тестирование PHP
          Установка дополнительных модулей
6. Установка Perl
7. Установка MySQL
          Тестирование MySQL
8. Часто задаваемые вопросы
Хотелось бы поблагодарить коллектив студии RealDesign, проверивший "на своей шкуре" все описываемые действия. Если у Вас возникнут вопросы в процессе выполнения инструкций в статье (а также если не помогут ответы на часто задаваемые вопросы, приведенные в конце), буду рад помочь. Мой адрес электронной почты {{dklab_email: empty}}. Пожалуйста, описывайте свою проблему подробнее! А именно, прошу указать в письме версию Вашей операционной системы, подключен ли компьютер к локальной сети, а также версии Apache и всех остальных программ, описываемых в этой статье. Комментарии бесплатные, но весьма краткие. Компьютерная революция не ждет никого, в том числе и меня...

1. Дистрибутивы и ссылки

"А не послать ли нам гонца?.."
Кинорежиссер

Вот список ссылок на сайты, на которых всегда можно найти самые свежие версии программных продуктов, на которые ссылается статья. Итак:
  1. Официальный сайт Apache: http://www.apache.org/
  2. Официальный сайт PHP: http://ru.php.net/
  3. Официальный сайт Active Perl: http://www.activestate.com/
  4. Официальный сайт MySQL: http://www.mysql.com/
И еще несколько ссылок:
  1. Всероссийский клуб вебмастеров: http://www.webclub.ru/
  2. Клуб разработчиков PHP: http://www.phpclub.net/
  3. Ну и, конечно, Лаборатория dk: http://www.dklab.ru/

2. Введение - зачем нужен домашний виртуальный сервер?

"Ну к чему все это, лучше бы водки выпили"
Из писем Белинского Гоголю

Если Вы читаете этот документ, а также если у Вас установлен Windows 95/98 (а наше личное мнение такое, что эта операционная система наиболее сбалансирована с точки зрения интерфейса и удобства работы), значит, Вы уже столкнулись с проблемой виртуального домашнего сервера, а точнее, с проблемой его отсутствия! Эта небольшая статья поможет Вам скачать и установить один из лучших серверов - Apache, а также те приложения, из-за отсутствия которых народ в бешенстве сметает все остальные сервера (например, Sambar Server) со своего многострадального жесткого диска и устанавливает Apache для Windows 95/98. Имеются в виду, конечно, Perl, PHP и MySQL, также работающие под Windows. Прочитав эту статью и скачав дистрибутивы, Вы будете вооружены всеми инструментами, которые так необходимы для профессиональной работы в Web!

Обращаем Ваше внимание: бытует мнение, что MySQL (а тем более для Windows 95/98) нельзя получить бесплатно, а можно только купить. Так вот, можете вздохнуть с облегчением: MySQL для Windows 95/98 существует, и ее установка не будет стоить Вам и копейки!

Если Вы - профессиональный Web-программист, то после внимательного ознакомления с этой (увы, ставшей некоторое время назад довольно объемистой) статьей Вы сможете на порядок упростить себе жизнь - точнее, ее часть, касающуюся написания и отладки скриптов. И это благодаря тому, что все описанное здесь почти на 100% совместимо с тем ПО, которое скорее всего установлено у Вашего хостера (а больше половины современных хостеров работают с Unix). Именно для этих, и никаких других, целей и была написана эта статья - помочь разработчику скриптов. Однако, если Вы собираетесь всерьез заняться хостингом на платформе Win32, то лучше будет использовать не Apache и PHP, а Microsoft IIS и ASP, и про это написано множество других статей.

Поговорим теперь с теми пользователями Windows 95/98, которые заглянули сюда из простого любопытства. Часто возникает ситуация, когда необходимо проверить полный вид html-страницы. Однако чаще всего это невозможно при работе дома - технологии SSI, CGI и, конечно, PHP, например, точно требуют сервера. Как же быть? Не стоит впадать в апатию - нужно просто установить на Ваш домашний компьютер (пусть даже и не подключенный к Интернет) специальную программу - Web-сервер. Вообще-то серверов существует множество - плохие и хорошие, медленные и быстрые... Мы же выбрали сервер, подходящий под последние две категории, - Apache. Самое главное то, что это чуть ли не единственный сервер, который позволяет работать в Windows 95/98 с технологиями PHP, CGI и Perl-скриптами одновременно так же просто и непринужденно, как будто у Вас стоит Unix.


3. От слов к делу - установка Apache

"У меня для Вас две новости: плохая и хорошая. Плохая: мяса
мало, будем есть бизоний помет. И хорошая: его-то у нас много!.."
Из выступления вождя апачей

Итак, Вы решились установить на свой компьютер Apache для Windows 95/98. В таком случае Вам следует запастись терпением и для начала скачать дистрибутив сервера с официального сайта Apache:
http://httpd.apache.org/dist/httpd/binaries/win32/. Советую Вам выбрать самую последнюю версию сервера для платформы Windows. Теперь нам предстоит настройка Apache для Вашей системы.
Важно!
Мы попросим Вас в точности выполнять перечисленные ниже шаги, не пропуская и не откладывая ни одного. В этом случае все заработает - это проверено. Далее приводятся инструкции с довольно скупыми объяснениями, почему нужно сделать то или иное действие, в расчете на то, что Вы будете соблюдать их буквально. В противном случае вам, скорее всего, придется дополнительно провести пару неприятных часов (или дней) за изучением документации Apache, в частности, той ее части, которая касается конфигурирования.

Этап первый - установка

Этап второй: настройка файла конфигурации Apache

На этом этапе Вам нужно определиться с директорией, в которой будут храниться ваши сайты. По умолчанию Apache использует для этого C:\Program Files\Apache Group\Apache\htdocs, где сразу после установки можно найти документацию по серверу. Думаю, для серьезных целей она не очень подходит - слишком уж длинное имя, поэтому мы рекомендуем сделать для всех сайтов отдельный диск (например, с именем Z:) при помощи утилиты subst, входящей в Windows. Давайте остановимся на этом решении. Итак, проделайте следующее:

Для начала мы настроим параметры для главного хоста Apache - localhost, а также параметры по умолчанию, которые будут унаследованы всеми остальными виртуальными хостами, если мы когда-либо захотим их создать.

Этап третий: тестирование Apache

Поздравляем - Вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите Пуск, затем Программы, Apache Web Server, Management и Start Apache, при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца работы с Apache.

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

Несколько слов о том, как можно упростить запуск и завершение сервера. В Windows можно назначить любому ярлыку функциональную комбинацию клавиш, нажав которые, Вы запустите этот ярлык. Так что щелкните правой кнопкой на панели задач, в контекстном меню выберите Свойства, затем Настройка меню и кнопку Дополнительно. В открывшемся Проводнике назначьте ярлыку Start Apache комбинацию <Ctrl>+<Alt>+<A> а ярлыку Stop Apache - <Ctrl+<Alt+<S>. Теперь Вы сможете запускать сервер нажатием <Ctrl>+<Alt>+<A> и останавливать его, нажав <Ctrl>+<Alt>+<S>.

Теперь проверим, правильно ли мы настроили директории для документов.

Проверка html.

В директории z:/home/localhost/www с html-документами Apache создайте файл index.html с любым текстовым содержанием. Теперь запустите браузер и наберите:
http://localhost/index.html
или просто
http://localhost/
Должен загрузиться Ваш файл.

Проверка SSI.

В директории z:/home/localhost/www с html-документами Apache создайте файл test.shtml c таким содержанием (внимательно следите за соблюдением пробелов в директиве include!):
SSI Test!<hr>
<!--#include virtual="/index.html" -->
<hr>
Теперь наберите в браузере:
http://localhost/test.shtml
Должен загрузиться файл, который состоит из текста "SSI Test!", за которым следует содержимое файла index.html между двумя горизонтальными чертами. Если этого не произошло, значит, Вы неправильно настроили работу SSI.

Проверка CGI.

В директории z:/home/localhost/cgi для CGI-скриптов создайте файл test.bat с таким содержанием:
@echo off
echo Content-type: text/html
echo.
echo.
dir
Теперь в браузере наберите:
http://localhost/cgi/test.bat
В окне отобразится результат команды DOS dir.
Важно!
Нужно отметить, что указанный тест работает не на всех версиях Windows: иногда вместо того, чтобы выполнить файл test.bat, Apache выводит в браузер его содержимое (а иногда Windows запускает этот файл в отдельном окне). С чем это связано - не совсем ясно, однако, кажется, можно избавиться от указанной ошибки путем манипулирования с Реестром Windows. Если у Вас test.bat не запускается, не расстраивайтесь: вряд ли Вы когда-нибудь будете писать скрипты в виде bat-файлов, тем более, что этот способ несовместим с Unix.)

Если что-то пошло не так, либо окно Apache открывается и тут же закрывается, значит, где-то произошла ошибка - скорее всего, в httpd.conf. За детальным разъяснением ее причин можно обратиться к log-файлам, расположенным в директории C:\Program Files\Apache Group\Apache\logs.

4. Виртуальные хосты Apache

"Виртуальные хосты - хосты, имеющие уникальный адрес
в Интернет, эмулируемые и поддерживаемые сервером"
Древнее языческое заклинание

Итак, Вы установили Apache и получили, таким образом, директорию z:/home/localhost/www для хранения документов и z:/home/localhost/cgi для CGI. Однако в Интернете Вы поддерживаете (или, скорее всего, будете поддерживать) несколько серверов, а Apache создал для Вас только один. Конечно, можно структуру этих нескольких серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache. В нашем распоряжении есть два вида виртуальных хостов: отдельные для каждого ip-адреса или же использующие один общий ip-адрес (так называемые name-based хосты - хосты, определяемые по имени). В тренировочных целях мы рассмотрим оба варианта, а именно, создадим хост hacker, использующий тот же адрес, что и localhost, а также хост cracker с адресом 127.0.0.2.
Важно!
Конечно, вместо "hacker" и "cracker" Вам нужно будет указать желаемые имена ваших виртуальных хостов. Советуем назвать их так же, как и на Вашем настоящем Web-сервере, но только без суффикса .ru или .com - это может многое упростить при программировании скриптов.

Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории z:/home с именем, совпадающим с именем сервера (мы уже проделывали нечто подобное с хостом localhost). Например, сервер hacker будет храниться в директории z:/home/hacker, которую Вам необходимо создать прямо сейчас (конечно, вместе с ее поддиректориями cgi и www, как мы делали это ранее), а хост cracker - в директории z:/home/cracker. В этих директориях будут находиться:

Для установки виртуальных хостов необходимо сделать некоторые изменения в файле конфигурации Apache httpd.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия.

Откройте файл httpd.conf (можете для этого воспользоваться ярлыком Edit configuration в меню Пуск - Программы - Apache Web Server - Management). Перейдите в его конец, Вам предстоит добавить туда несколько строк. Добавьте следующие строки в конце файла после всех комментариев:

NameVirtualHost 127.0.0.1
#----localhost
<VirtualHost localhost>
  ServerAdmin webmaster@localhost
  ServerName localhost
  DocumentRoot "z:/home/localhost/www"
  ScriptAlias /cgi/ "z:/home/localhost/cgi/"
  ErrorLog z:/home/localhost/error.log
  CustomLog z:/home/localhost/access.log common
</VirtualHost>
#----hacker
<VirtualHost hacker>
  ServerAdmin webmaster@hacker.ru
  ServerName hacker
  DocumentRoot "z:/home/hacker/www"
  ScriptAlias /cgi/ "z:/home/hacker/cgi/"
  ErrorLog z:/home/hacker/error.log
  CustomLog z:/home/hacker/access.log common
</VirtualHost>
#----cracker
<VirtualHost cracker>
  ServerAdmin webmaster@cracker.ru
  ServerName cracker
  DocumentRoot "z:/home/cracker/www"
  ScriptAlias /cgi/ "z:/home/cracker/cgi/"
  ErrorLog z:/home/cracker/error.log
  CustomLog z:/home/cracker/access.log common
</VirtualHost>
Важно!
Обратите внимание на то, что мы добавили дополнительно секцию <VirtualHost> для хоста localhost. Если этого не сделать, то все запросы к нему (то есть, по адресу 127.0.0.1) будут обработаны name-based хостом hacker. Происходит это, видимо, из-за того, что хосты в секции <VirtualHost> имеют больший приоритет при обработке, чем главный хост, который мы создали до этого.

Директива NameVirtualHost говорит серверу, что указанный ip-адрес может использоваться несколькими виртуальными хостами, поэтому для обработки запросов, поступающих на этот адрес, нужно использовать протокол HTTP 1.1 (который, собственно, и поддерживает технику работы с name-based хостами).

При желании можно добавить и другие параметры в блоки <VirtualHost> (например, DirectoryIndex и т.д.) Не переопределенные параметры наследуются виртуальным хостом от главного. Однако не советую злоупотреблять настройками в этих секциях - лучше сделать их в файле .htaccess в директории нужного хоста, потому что компания, которая предоставляет (будет предоставлять) Вам "настоящие" виртуальные хосты в Интернете, вряд ли позволит менять эти блоки.

Но как же система узнает, что хост cracker сопоставлен с адресом 127.0.0.2, а hacker - вообще name-based хост? Для решения проблемы надо немного подправить системный файл hosts, который находится в директории C:\WINDOWS для операционных систем Windows 95/98/Millenium и C:\WINNT\SYSTEM32\DRIVERS\etc для Windows NT и Windows 2000.

Важно!
Не путайте файл hosts (без расширения) с файлом hosts.sam, который, скорее всего, также расположен в той же директории! Последний файл является просто демонстрационным примером Microsoft и никак не используется системой. Если файла hosts не существует, его необходимо создать.

Файл hosts - обычный текстовый файл, и в нем может быть заранее записана только одна строка:

127.0.0.1       localhost

Именно эта строка и задает соответствие имени localhost адресу 127.0.0.1. (Ради справедливости следует сказать, что имя localhost работает и без указанной выше строки. Ну и выдумщики же эти парни из компании Microsoft!) Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:

127.0.0.1  localhost hacker
127.0.0.2  cracker

Обратите внимание на то, что хост hacker описан на той же строке, что и localhost. Дело в том, что в файле hosts должны указываться только уникальные ip-адреса. Если же одному адресу сопоставляется сразу несколько хостов, то один из них (тот, который идет первым) объявляется главным, а остальные - его синонимами. В нашем случае localhost - главный, а hacker - его синоним. Apache при получении запроса на адрес 127.0.0.1 узнает, что он пришел хосту с именем hacker, и активизирует соответствующий блок <VirtualHost>.

Итак, мы создали виртуальные хосты со следующими свойствами:

Важно!
Необходимо заметить, что главный хост (невиртуальный, тот, который мы создали ранее) по-прежнему доступен по адресу http://127.0.0.1 или http://localhost. Более того, его директория /cgi-bin/ "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.

После всех изменений не забывайте перезапускать Apache.

Важно!
Если установлен Apache версии ниже 1.3.20, то просто закрыть окно сервера, нажав на кнопку Закрыть в его правом верхнем углу, недостаточно - нужно воспользоваться ярлыком Stop Apache в меню Пуск - Программы - Apache Web Server - Management. В противном случае закроется только окно Apache, а сам сервер останется работать в фоновом режиме, так что изменения, внесенные в httpd.conf, не будут активизированы. Действует принцип: если ярлык закрытия сервера в меню Пуск присутствует, значит, обязательно нужно им пользоваться, иначе - можно закрывать окно принудительно.

5. Установка PHP версии 4

"- Больной, читайте первую строчку сверху!
- Ша, Бэ, Пэ Ха Пэ... Доктор, кодировочку-то пофиксите..."
Народный фольклор

Давайте теперь перейдем к установке языка PHP версии 4. К сожалению, на момент написания этих строк у PHP не было нормальной setup-программы, которая могла бы установить PHP со всеми необходимыми нам модулями за один раз, как мы проделали это с Apache. Так что, возможно, его установка покажется Вам чуть сложнее.

Прежде всего, Вам нужно запастись терпением и скачать с официального сайта PHP http://www.php.net/ в секции Downloads два файла: один с расширением zip, а другой - exe. Ссылки на эти два файла располагаются почти в самом верху страницы, после заголовка Win32 Binaries. Первый файл представляет собой полную версию PHP 4, но не имеет удобной программы установки, а второй, наоборот, является автоматической программой установки, но не содержит в себе наиболее часто используемых модулей.

Важно!
Так было на момент написания этой статьи. Возможно, в будущем разработчики PHP будут поставлять дистрибутив в виде одного большого exe-файла, но пока это не так.

Советую Вам также скачать полную документацию по PHP, ссылка на которую есть на странице чуть ниже. Уверен, в будущем она еще не раз Вас выручит.

Стоит сказать еще пару слов насчет версии PHP. Язык постоянно совершенствуется, и на момент создания этой статьи последней версией была 4.0.3. Скорее всего, когда будете читать эти строки, выйдет более новая версия - например, 4.0.10. Думаю, наилучшем решением будет скачать ту, что поновее, потому что в ней, возможно, исправлены некоторые ошибки из предыдущих версий языка. Главное, чтобы первая цифра была 4, потому что третий PHP сильно проигрывает четвертому по количеству поддерживаемых функций.

Установка PHP

На этом этапе язык PHP можно считать уже почти установленным - нам осталось только настроить Apache, чтобы он мог распознать PHP-скрипты, а также установить дополнительные модули, которые содержатся в скачанном нами zip-архиве.

Настройка Apache для работы с PHP

Тестирование PHP

Давайте теперь убедимся, что PHP-скрипты работают. Для этого создадим в директории z:/home/localhost/www файл test.php со следующим содержанием:
<?
echo "It works!<br>\n";
phpinfo();
?>
Теперь наберите в браузере: http://localhost/test.php. Должна отобразиться страница с разнообразной информацией о PHP, которая генерируется функцией phpinfo().
Важно!
Напоминаем, что php-скрипты - не то же самое, что cgi-скрипты. В частности, если cgi-скрипты обычно располагают в /cgi-bin/ или /cgi/, то php-скрипт должен находиться в директории с документами.

Если страница не отображается, значит, Вы допустили ошибку в файле httpd.conf. Откройте его снова и исправьте ошибку, затем не забудьте перезапустить Apache.

Важно!
Напоминаю еще раз, что просто закрыть окно Apache, так сказать, принудительным способом нельзя - нужно воспользоваться ярлыком Stop Apache, как это было описано выше. В противном случае закроется только окно Apache, а сам сервер останется работать.

Установка дополнительных модулей

После того как мы убедились в работоспособности PHP, нужно установить для него дополнительные модули, которые находятся в скачанном zip-файле. Среди них - средства для работы с рисунками, календарем, FTP (File Transfer Protocol - Протокол передачи файлов) и т.д. Нужно заметить, что архив содержит полную версию PHP, а не только модули для него. Единственная причина, почему мы не воспользовались им сразу - отсутствие удобной программы установки. Итак, нужно проделать следующие действия. Нужно заметить, что в предыдущей версии статьи была описана процедура установки PHP3, а не PHP4. Однако прогресс дает о себе знать, и в ближайшем будущем PHP3, по-видимому, будет полностью вытеснен своим собратом четвертой версии (об этом говорит хотя бы то, что последний выполняет скрипты в несколько десятков (!) раз быстрее, имея при этом почти в 2 раза большее число встроенных функций). Кроме того, PHP4 совместим "сверху вниз" с PHP3, что означает, что большинство скриптов, написанных для PHP3, будут работать и на четвертой версии интерпретатора.

6. Установка Perl

"Язык может считаться законченным только тогда, когда
в его синтаксисе используются все клавиши на клавиатуре"
Отец-основатель Perl

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

Вот, собственно, и все. Для проверки работоспособности Perl создайте в директории z:\localhost\cgi файл test.pl с таким содержанием:

#!/usr/local/bin/perl -w
print "Content-type: text/html\n\n";
print "It works!<br>\n";
Важно!
Обратите внимание на первую строчку в скрипте. Можно подумать, что она указывает Apache, что Perl расположен в z:\usr\local\bin\perl.exe. На самом же деле Apache видит, что такого файла не существует, и использует Реестр для поиска ассоциации для расширения pl. Происходит это благодаря директиве ScriptInterpreterSource, которую мы активизировали до этого. Однако, хотя Apache игнорирует первую строку в скрипте, Perl ее использует для того, чтобы определить, какие флаги были использованы при его запуске (в нашем примере это флаг -w, который включает режим вывода сообщений об ошибках в скрипте).

7. Установка MySQL

Что ж, очень полезно... Даже чересчур.
Дмитрий Котеров

Сначала определимся: зачем же вообще нужны базы данных Web-программисту? Неужели не проще использовать обычный обмен с файлами? Ведь обычно объем данных не очень велик (если Вы только не пишете поисковую систему). Наш личный опыт таков: оказывается, стоит затратить какое-то время на изучение MySQL - это удивительно мощный инструмент, который сэкономит в будущем немало часов, потраченных на отладку "взбесившегося" скрипта. Итак, Вы решили установить у себя на локальном хосте поддержку MySQL. Это довольно несложно. Что ж, приступим.

Тестирование MySQL

Давайте теперь проверим, все ли работает. Для начала запустите наш файл server.bat, чтобы активизировать сервер. Создайте такой PHP-скрипт с именем mysql.php в директории z:\home\localhost\www.
<?
define("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","");

if(!mysql_connect(HostName,UserName,Password)) 
{  echo "Не могу соединиться с базойНе влезло...
".DBName."!<br>"; 
   echo mysql_error();
   exit; 
}
mysql_select_db(DBName);

// Создаем таблицу t. Если такая таблица уже есть,
// сообщение об ошибке будет подавлено, т.к. 
// используется "@"
@mysql_query("create table t(id int,a text)");

// Вставляем в таблицу 10 записей
for($i=0; $i<10; $i++) 
{  $id=time();
   mysql_query("insert into t(id,a)Не влезло...
   values($id,'Стр$i!')");
}   

// Выводим все записи
$r=mysql_query("select * from t");
for($i=0; $i<mysql_num_rows($r); $i++)
{  $f=mysql_fetch_array($r);
   echo "$f[id] -> $f[a]<br>\n";
}
?>
Теперь наберите в браузере:
http://localhost/mysql.php
Если все установилось правильно, Вы должны получить несколько строк вывода без сообщений об ошибках. При каждом запуске в таблицу t добавляются новые строки, так что с каждым нажатием кнопки Обновить в браузере объем вывода будет все увеличиваться.

Обращаю ваше внимание на константы DBName, HostName, UserName и Password. DBName должен содержать имя базы данных (в нашем случае это test, база данных, которая создается MySQL по умолчанию). HostName - всегда localhost, ведь мы работаем на локальном компьютере. В определении UserName проще всего подставлять root, который является собственником всех таблиц. При установке MySQL пользователю root не назначается пароль, так что константа Password равна пустой строке.

8. Часто задаваемые вопросы

"А здесь - Ваша цитата"
Бьерн Страуструп

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

Вы можете добавить сюда свой вопрос. Мы постараемся рассмотреть его как можно скорее. Однако убедительная просьба не пользоваться этим сервисом, если вы точно не уверены, что ваш вопрос действительно подходит под определение "часто задаваемого". Вместо этого лучше свяжитесь с автором по электронной почте: {{dklab_email: empty}}.

Q: Я устновил PHP, но даже простейший скрипт типа <?echo $name?>, запущенный из браузера как http://localhost/test.php?name=Pupkin, ничего не выводит - сообщает о неинициализированной переменной $name.
A:

Ваш PHP не создает глобальных переменных для пришедших из формы или же через адресную строку параметров. Необходимо изменить php.ini - добавить туда строки:

register_globals = On
variables_order = "EGPCS"

Q: Apache запускается нормально (пишется "Apache running..."), но при наборе в браузере имени любого виртуального хоста IE пишет, что не может установить соединение.
A:

Может быть несколько причин этой ошибки.

  • Проверьте, не мешает ли тут включенный прокси-сервер. В настройках IE на вкладке Подключение нажмите кнопку Настройка сети. Там должен быть поставлен флажок Не использовать прокси-сервер для локальных адресов. Еще лучше (если это возможно) вообще отключить прокси.
  • Проверьте, тот ли файл hosts вы исправили. Напоминаю: его имя должно быть hosts без расширения и с буквой "s" на конце. Используйте текстовый редактор, который точно позволяет создавать файлы без расширения (например, редактор Far-а).

Q: Я установил Apache и PHP4 под Windows 98, но при вызове ImageGif($im) возникает ошибка: Warning: ImageGif: No GIF support in this PHP build in z:\home\localhost\www\test.php on line 13. В php.ini раскомментировано extension=php_gd.dll.
A:

Новые версии PHP, действительно, не поддерживают эту функцию (истек срок лицензии на формат GIF). Используйте вместо нее imagePng().

Q: При запуске MySQL пишется что-то об InnoDB и о том, что не прописаны какие-то пути. Что делать?..
A:

Ничего не делать. Это не ошибка, а лишь предупреждение, которое можно спокойно игнорировать.

Q: Apache выдает следующую ошибку в лог-файле: setup_inherited_listeners: WSASocket failed to open the inherited socket. В чем собственно дело? Как исправить?
A:

Скорее всего, не установлен один из драйверов, необходимый Apache.

  • Проверьте, установлен ли в Панели Управления - Сеть протокол TCP/IP. Если у вас нет локальной сети, проверьте также наличие Контроллера удаленного доступа.
  • В старых версиях Windows 95 отсутствует необходимый драйвер WinSock версии 2. Если у вас именно такая операционная система, придется обновить WinSock (дистрибутив можно скачать с http://www.microsoft.com/ (на текущий момент точный адрес - http://www.microsoft.com/windows/downloads/bin/W95ws2setup.exe).

Q: При помещении Perl-скрипта в корневую директорию выдается: Forbidden: you don't have permission to access /test.pl... Хочется, чтобы CGI-скрипты запускались не только из директории /cgi/, но и из любой другой директории.
A:

В требуемой директории (в нашем примере - директории документов сервера) нужно создать файл .htaccess следующего содержания:

<FilesMatch "\.pl$">
Options ExecCGI
</FilesMatch>
Не рекомендую вам для этих целей править httpd.conf, т.к. это плохо переносимо между провайдерами.

Q: Я установил MySQL, но могу создавать базы только с именами test, test1 и т.д. При создании базы с другим именем выдает примерно следующее: Access danied for user '@unknown' to database ...
A:

В Вашей версии MySQL-сервера для создания базы данных необходимо в параметрах mysqladmin.exe указывать имя root-пользователя, например:

mysqladmin -u root create MyDatabase

Q: У меня Apache 1.3.6 и в файле конфигурации httpd.conf отсутствует строка ScriptInterpreterSource registry.
A:

Все верно: поддержка этой директивы введена лишь в более новых версиях сервера. Рекомендуем обновить Apache.

Q: Тестовый скрипт test.pl работает нормально, однако ни одна программа с расширением cgi не запускается (даже если это тот же самый тестовый скрипт, переименованный в test.cgi).
A:

Вам необходимо добавить ассоциацию для файлов с расширением cgi в Проводнике Windows (так же, как это сделал ActivePerl для pl-файлов при установке). Делается все это в меню Сервис - Свойства папки - Типы файлов (в некоторых системах Вид - Свойства папки - Типы файлов).

Q: Установил Apache на Windows 98. Организовал 3 виртуальных хоста. Локально (на машине с Apache) они видны, а с других машин локальной сети виден только основной хост. Как исправить ситацию?
A:

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

  • Добавьте в httpd.conf директиву NameVirtualHost с указанием реального ip-адреса сервера в локальной сети (например, 192.168.0.2).
  • Добавьте примерно такую запись в файл C:/WINDOWS/hosts:
    192.168.0.2  vhost anotherhost
    
    Здесь vhost и anotherhost - имена ваших виртуальных хостов. Необходимо добавить эту строчку не только в файл hosts на машине с Apache, но и в файлы hosts на всех машинах в сети.
  • Используйте только name-based виртуальные хосты, как это описано в статье. В директивах <VirtualHost> указывайте не ip-адреса хостов, а их имена (Apache самостоятельно оттранслирует имена в адреса на основе записи в файле hosts).

Q: Никак не могу установить поддержку MySQL в Perl...
A:

Проделайте следующее:

  • Подключитесь к Интернету и запустите ppm.bat из директории с Perl.
  • Наберите "help".
  • Наберите "install DBI".
  • Наберите "install DBD::Mysql".

Q: Apache установился и запускается нормально, но при попытке открытия какой-нибудь страницы Internet Explorer настоятельно предлагает подключиться к Сети.
A:

На вкладке Соединение (или Подключение) в Свойствах IE установите флажок Использовать локальную сеть (или Не использовать). К диалогу свойств IE можно также добраться через Мой компьютер - Панель управления - Свойства обозревателя.

Q: При запуске окно Apache открывается и тут же закрывается, сервер из браузера "не виден".
A:

Скорее всего, синтаксическая ошибка в httpd.conf. Посмотрите, что пишется в файле C:\Program Files\Apache Group\Apache\logs\error.log - скорее всего, там будет указана строка, в которой произошла ошибка. Если там ничего не появляется, перечитайте еще раз первую главу - там написано, как можно еще искать ошибки.

Q: Ни один скрипт не работает - при запуске открывается маленькое окошко MS-DOS, в нем быстро пробегают строки, и потом оно закрывается.
A:

Эта ошибка часто возникает при использовании различных некорректно написанных резидентных антивирусных сторожей (например, SpiderGuard от Dr.Web). Боюсь, Вам придется от них отказаться (при этом, насколько нам известно, SpiderGuard нужно именно деинсталлировать, одного лишь его отключения недостаточно).

Q: Виртуальные хосты (а иногда и обычный, основной хост) из браузера недоступны ни по имени, ни по ip-адресу.
A:

Эта проблема часто возникает на компьютерах, объединенных в локальную сеть и совместно использующих одно подключение к Интернету. Обычно в таких случаях используется WinGate - программа, обеспечивающая этот совместный доступ. В ней-то и заключена вся проблема. Сделайте следующее: выберите какой-нибудь браузер, которым Вы реже всего пользуетесь (например, Netscape), и поставьте в настройках WinGate для его запускаемого файла (в нашем примере - netscape.exe) режим локального доступа. В этом случае Вы сможете работать с локальным Apache через этот (и только этот) браузер. Это не очень приятно, но, боюсь, другого решения для WinGate не существует...

Q: А как бы мне поставить PHP3?
A:

Процесс почти полностью повторяет установку PHP4, за исключением того факта, что у PHP3 нет нормальной программы установки и Вам придется вручную создавать папку C:\Program Files\PHP3 и разархивировать туда содержимое дистрибутива PHP3 (не забудьте также скопировать файл php3.ini в директорию с Windows). Действия по настройке Apache также очень похожи, разве что везде нужно дословно заменить подстроки "php" на "php3".

Q: Я сделал все, как описано в статье, но...
A:

Щелкайте сюда

19 января 2001 г.
Дмитрий Котеров
Лаборатория dk, ©1999-2004

Используются технологии uCoz