Apache2 + PHP5 + MySQL5 + Perl на Windows (Часть II)

Вторая часть статьи о том, как замутить у себя на компьютере web-сервер с php, perl’ом и mysql для тестов, а возможно и как  рабочий сервак под управлением Windows. В первой части я рассказал, как поставить Apache + php, это не слишком сложно, впрочем, во второй части тоже ничего сложного нет, главное следовать инструкциям и быть внимательным.  Начнем.

1. Скачиваем Perl (на момент установки работала ссылка http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.820-MSWin32-x86-274739.msi) и устанавливаем, например в С:\Program Files\Perl. После установки нужно протестить как поставилось. Для этого создаем test.pl, с содержанием

#!/usr/bin/perl
print “Content-type: text/html\n\n”;
print “OK”;

и кидаем в корень С:\, заходим в cmd (winkey +r и там cmd), далее cd C:\ и пишем perl test.pl, если видим “OK” то значит все нормально, perl работает.
2. Настройка взаимодействия Apache + Perl. Открываем httpd.conf и находим строку с AddHandler и добавляем .pl .cgi и расскоментируем строку ScriptInterpreterSource registry. Сохраняемся. По умолчанию, обрабатываются скрипты, которые лежат в “С:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\” (можно в любой момент изменить на любой другой путь, который интересует). Кидаем наш test.pl в папку cgi-bin и открываем в браузере http://localhost/cgi-bin/test.pl, если видим “OK”, значит Perl с сервером взаимодействуют нормально.
3. Настраиваем MySQL. Скачиваем MySQL-сервер (например, по ссылке http://www.mysql.ru/download/files/mysql-5.0.18-win32.zip). В процессе конфигурирования оставляем все по умолчанию, в пункте default character set выбираем кодировку cp1251 и далее задаем пароль рута. После установки появится новая служба MySQL (проверить, набрав services.msc в “Выполнить” и посмотреть список активных служб).
4. Настраиваем MySQL и проверяем взаимодействие связки. Идем в директорию, куда поставили MySQL и открываем для редактирования файл my.ini, в секцию [mysqld] добавляем

character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect=”SET NAMES cp1251″

Перезапускаем службу.
5. Далее в httpd.conf добавляем директиву PHPIniDir “path_to_php”, где path_to_php – путь до папки с php. Это нужно, чтобы
Apache видел, где лежит php.ini. Еще нужно подключить для php расширения, чтобы он нормально работал с MySQL. Открываем php.ini и расскоментируем строку с extension php_mysql.dll (ну и extension php_mysqli.dll заодно). Из папки с php копируем libmysql.dll в system32.
6. Для тестирования коннекта с БД, создаем файл mysql.php с содержанием:

<?php
$dbServer=’localhost’;
$dbUser=’root’;
$dbPass=’пароль_который_задали_при_установке_mysql ‘;
$dbName=’test’;
mysql_connect(“$dbServer”, “$dbUser”, “$dbPass”, “$dbName”) or die
(“Could not connect”);
?>

кидаем его в htdocs и открываем в браузере http://localhost/mysql.php, если не появится сообщения “Could not connect”, то значит коннект с базой прошел удачно и связка работает. На этом настройка связки Apache + PHP + PERL + MySQL закончена, можно еще поставить PhpMyAdmin для управления базами через web-интерфейс, но там нету ничего сложного и ман по установке можно найти на оффсайте. Удачи! ;)

Куча времени? Листай дальше:
  • Apache2 + PHP5 + MySQL5 + Perl на Windows (Часть I)
  • Заметка о “premature script headers” или “Читай доки до просветления!”
  • Чистим контекст гугла от говна
  • Работа >_>
  • Windows has you
  • 17 Responses to “Apache2 + PHP5 + MySQL5 + Perl на Windows (Часть II)”

    1. Вадим высказал(а):

      Я только начинаю, поэтому прошу отнестись с пониманием , если вопросы глупыми покажутся. Все делал как написано, первая часть прошла без замечаний Apache и PHP в связке прошли тесты, а вот во второй части проблемы- Perl в ответ на тест пишет:
      Microsoft Windows XP [Версия 5.1.2600]
      (С) Корпорация Майкрософт, 1985-2001.

      C:\Documents and Settings\Vadey>cd C:\

      C:\>perl perl test.pl
      Can’t open perl script “perl”: Permission denied

      C:\>
      т.е. я так понимаю не работатет, ну и соответственно второй тест с Perl не проходит.
      и кстати в httpd.config нет строки AddHandler в чистом виде , а есть AddHandler cgi-script. cgi. и она закоментирована, просто когда такие нестыковки даже маленькие я как начинающий теряюсь, в инструкции написано что добавляем pl. и cgi. ? и получается что cgi. прописываем второй раз , та ли эта строка вообще???
      Куда писать диррективу PHPIniDir “path_to_php” в httpd.config?

      MySQL на тест при запросе http://Localhost/mysql.php выдал

      Parse error: syntax error, unexpected T_STRING in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mysql.php on line 4

      В инструкции написано , если не выдаст “Could not connect” то все нормально базы работают, но судя по на написаному наверное что -то не так.

      И подскажите- обязательно включать в связку все или можно так Apache+PHP+Mysql хотелось бы на PHP пока остановиться…

      Заранее благодарен! С уважением Вадим!

    2. admin высказал(а):

      Хм, насчет перла. В статье благодаря тебе нашел опечатку :) Было написано “perl perl test.pl”, 2 раза perl. Нужно писать “perl test.pl”, должно заработать. AddHandler в httpd.conf просто раскомментируй и добавь .pl только (если .cgi у тебя уже имеется). PHPIniDir можно кинуть в конец конфига http.conf, только путь пропиши правильный до php :) Все должно работать после этого.

    3. Антон высказал(а):

      MySQL всерно не работает… путь правильный… все правильно, но пишут такую же ошибку как описано выше…

    4. FRiK высказал(а):

      Стукнись в асю ко мне, помогу чем смогу.

    5. skutorlimon@mail.ru высказал(а):

      Помогите плиз. У меня возникла вот такая проблема с Mysql. Знач содлал это файл mysql.php захожу через браузер все как написано выше но мне выдается вот такая страница

      Parse error: syntax error, unexpected T_STRING in E:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mysql.php on line 4

      Как это исправить? подскажите плиз… Желательно на мыло.

    6. skutorlimon@mail.ru высказал(а):

      Спасиб я исправил долгими мучениями просто перенел php.ini в папку system32 и теперь сраницы выражены красиво. но при установки базы мускула вылезает вот это

      Fatal error: Call to undefined function mysql_connect() in E:\Program Files\Apache Software Foundation\Apache2.2\htdocs\includes\database\mysql.php on line 13

      подскажите что и как? плииииз

    7. FRiK высказал(а):

      Покажи файл mysql.php, по ходу связи пхп и мускула нетъ…

    8. skutorlimon@mail.ru высказал(а):

      я вот еще отрыл phpmyadmin русский и ну короч открыл его браузером через локалхост и мне написали нет связи с mysql так что точняк она но хз как исправить

    9. Bytexpert высказал(а):

      Уважаемый автор забыл написать, что для работы расширения php_mysql.dll требуется библиотека libmysql.dll, т.к. эта библиотека по умолчанию идет в каталоге с PHP то ее система не находит и расширение не загружается.

      Нужно libmysql.dll скопировать в Windows\System32\ и тогда все должно заработать.

    10. FRiK высказал(а):

      Да, про него забыл. Поправил текст :)

    11. union высказал(а):

      все написано хорошо, но..
      mysql_connect(”$dbServer”, “$dbUser”, “$dbPass”, “$dbName”) – это неверный вызов. $dbName тут ну никак не нужно и кавычки непонятно зачем.
      правильно так:
      mysql_connect($dbServer, $dbUser, $dbPass) or die(“Could not connect”);
      mysql_select_db($dbName) or die(“Could not select database”);

    12. FRiK высказал(а):

      Если глянуть на php.net, то можно увидеть там синтаксис, а именно по адресу http://ru2.php.net/manual/ru/function.mysql-connect.php – синтаксис функции mysql_connect. Это во-первых. Ну а во-вторых, эта конструкция была сделана лишь для проверки работоспособности связки php + mysql и усложнять её нет никакой необходимости :)

    13. Vasiliy высказал(а):

      теперь здесь запоролся, perl его мать не пахает, грит мол нету у тя test.pl – раз(ет через броузер када его пытаешся выполнить), а если через cmd попробовать выполнить грит – unrecognized character \x93 in column 7 и т.д. причем волнует больше всего чтоб в броузере он не писал – The requested URL /cgi-bin/test.pl was not found on this server.

    14. FRiK высказал(а):

      Не находит файл, читаем опять же внимательнее статью..

    15. zerocool высказал(а):

      что бы php 5 работала с mysql в винде нужно в path добать
      c:\php\
      c:\php\ext\
      а в system32 кинуть библиотеки
      php_mysql.dll
      libmysql.dll

    16. Дикс высказал(а):

      Спасибо большое за статью! помогла решить проблему со связыванием пхп и mysql ^)

    17. tagpit высказал(а):

      как заставить perl крутиться при возникновении ошибок
      НАДО просто проверить написание кавычек после просто копирования с этой страницы и все будет работать.
      Нашел из своего опыта

    Отправить коммент в фонд голодающих пингвинов

    Upload Files

    You can include images or files in your comment by selecting them below. Once you select a file, it will be uploaded and a link to it added to your comment. You can upload as many images or files as you like and they will all be added to your comment.

    Бухгалтерское обслуживание
    Онлайн-консультация, faq. Агентство юридической безопасности.
    cbsu.ru