Установка связки Apache, PHP, MySQL и PhpMyAdmin на Windows 7

В одной из статей мы уже обсуждали работу со средой разработки DENWER. Несмотря на то, что на сайте разработчика обещается новая версия в скором времени, ее нет почти 3 года. А технология прыгнула вперед, и многим скриптам уже не достаточно версий, которые установлены в DENWER. К тому же, вышли новые операционные системы, например, Windows 7, на который прикрутить DENWER уже сложновато.

В самом пакете так же есть много минусов, и многие функции необходимые для работы скриптов отключены, либо не входят в пакет, и их необходимо прикручивать. К тому же не забываем, что хоть на хостинге, хоть на выделенном сервере находится не DENWER, а связка Apache, PHP и MySQL.

В отличии от DENWER, данную связку нужно прикрутить и настроить, а это не очень уж простое дело, как может показаться. Если в DENWER нам было достаточно запустить инсталлятор, то при связке придется устанавливать все три программных продукта, после чего «связывать» их друг с другом, и настраивать.

Сначала создаем в удобном для вас месте папку, в которую и будем все устанавливать. Я для этого создал папку server, которая находится по адресу C:\server

В этой статье будет описана связка Apache, PHP и MySQL под Windows 7 (для других Windows настраивается аналогично). Итак, будем создавать из своего компьютера — сервер. На котором в дальнейшем будем тестировать различные скрипты.

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

Установка Apache.

  • Качаем Apache с сайта производителя. На данный момент последняя версия Apache 2.2.17. Чтобы не мучаться и не лазить по сайту, выкладываю на DepositeFiles дистрибутив. Зеркало
  • Щелкаем по инсталлятору, соглашаемся с лицензионным соглашением, и щелкаем, пока не будет такого окна:
     

    В поля Network Domain, Server Name, Administrator`s e-mail address вбиваем, что хотим. Некоторые пишут localhost, некоторые по типу того, что сделал я. Главное, слова должны быть только латиницей, никаких русских букв.

    Ниже выбираем пункт по умолчанию - for All Users, on port 80, as a Service.

  • Затем выбираем полную (Typical), и место, куда устанавливаем пакет, в нашем случае это C:\server. Наш путь выглядит так — C:\server\Apache2.2. Теперь инсталлируем.
  • В системном трее появился такой значок. Этот значок указывает на то, что наш Apache работает.
     

Установка Apache закончена.

Установка PHP.

  • Качаем PHP с сайта производителя. На данный момент последняя стабильная версия PHP 5.3 (5.3.5). Чтобы не мучаться, и не лазить по сайту, выкладываю дистрибутив на DepositFiles. Зеркало
  • Создаем в нашей папке server папку PHP, в которую копируем все файлы из архива. Обратите внимание, копируем файлы, а не саму папку. Путь выглядит так — C:\serverPHP

Установка PHP завершена.

Установка MySQL.

  • Качаем MySQL с сайта производителя. На данный момент последняя стабильная версия MySQL 5.5.8. Закачка требует регистрации. Чтобы не мучаться выкладываю на DepositFiles две версии.
  • Запускаем дистрибутив. Соглашаемся с лицензией, затем выбираем тип установки Custom, затем Install.
  • Тут меняем только место установки, остальное не трогаем. Далее Next и Install.
  • Далее жмем Next пока не появится такое окно. Оставляем галочку во вкладке и нажимаем Finish.
  • В появившемся окне нажимаем Next, а в следующем окне выбираем Standard Configuration.
  • В следующем окне ставим галочку в пустом квадрате, остальное оставляем по умолчанию.
  • В следующем окне оставляем галочку и заполняем пароль. Если вы собираетесь использовать нашу связку для отладки сайтов или скриптов, а так же для написания скриптов, т. е. кроме вас никто к машине доступ иметь не будет, то проще придумать легко запоминающийся пароль.

Установка MySQL окончена.

Установка PhpMyAdmin.

PhpMyAdmin продукт для управления базами данных SQL. Конечно, много альтернативных продуктов, некоторые гораздо лучше, чем PhpMyAdmin, однако, на 90% хостингах находится именно данный продукт. Чтобы миграция проходила безболезненно, именно данный продукт мы и установим на наш сервер.

  • Качаем PhpMyAdmin с сервера производителя. Я выкладываю последнюю версию дистрибутива DepositFiles. Зеркало
  • Разархивируем, переименовываем папку в phpmyadmin или pma для удобного доступа к ней. И переносим ее в папку www, которая находится по адресу C:/www/tes/twww
  • В папке phpmyadmin или pma (в зависимости от того, как назвали) находим файл config.sample.inc.php и переименовываем его в config.inc.php.
  • Открываем файл config.inc.php и в строчку 

    $cfg['blowfish_secret']='xxx';

    вместо xxx вбиваем свое секретное слово. Остальное оставляем по умолчанию, сохраняем файл.

PhpMyAdmin установлен.

Сначала думал установить Perl, но передумал, так как для наших целей он ненужен. Если кому интересно, могу описать подключение Perl в одной из следующих статей.

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

Настраиваем компоненты.

Итак, для начала давайте создадим папку, в которой у нас будут файлы сайтов. Для удобства, в корне диска, я создаю папку www. В ней создаём папку нашего сайта. Имя любое, но обязательно латиницей. Можно сделать папку test, можно сделать папку для тестирования или настройки конкретного движка, например, dle, wp и т. п. Если вы будете устанавливать виртуальные хосты (чтобы работать с множеством тестовых сайтов одновременно), то можно создать папку для каждого движка, однако, не забудьте все сайты прописать в файл: C:\WINDOWS\system32\drivers\etc\hosts.

Теперь в каждой из созданных нами папок делаем еще две папки: www и logs.

Итак, давайте приступим к настройке наших программных продуктов.

Настройка Apache.

Сначала настроим Apache. Идем по адресу C:\server\Apache Software Foundation\Apache2.2\conf\ и открываем файл httpd.conf при помощи любого текстового редактора.

Даем доступ к папке www.

Ищем код:

<Directory "C:/server/Apache Software Foundation/Apache2.2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> 

После него добавляем:

<Directory "C:/www"> # Options None AllowOverride All Options Indexes FollowSymLinks Includes Order allow,deny Allow from all </Directory> 

Найдите данный блок:

<Directory> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> 

И замените его на нижеследующий:

<Directory> Options Includes Indexes FollowSymLinks AllowOverride All Allow from all </Directory> 

Назначаем корневую директорию управления сайтами (мы ее создали недавно, папка www)

Ищем:

DocumentRoot "C:/server/Apache Software Foundation/Apache2.2/htdocs"

Меняем на:

DocumentRoot "С:/www"

Для загрузки PHP интерпретатора, в конце блока загрузки модулей добавляем:

LoadModule php5_module c:/server/PHP/php5apache2_2.dll

Определяем каталог содержащий конфигурационный файл. Добавляем:

PHPIniDir "C:/server/PHP"

Устанавливаем загрузку модуля mod_rewrite. mod_rewrite нужен для ЧПУ. Находим и раскомментируем (убираем знак # в начале строчки) строчку:

#LoadModule rewrite_module modules/mod_rewrite.so

Выбираем очередность загружаемых индексных файлов в корне нашего сайта. Ищем строчку:

<IfModule dir_module> DirectoryIndex index.html </IfModule> 

После index.html добавляем нужные нам расширения:

<IfModule dir_module> DirectoryIndex index.html index.htm index.shtml index.php </IfModule> 

Удаляем или комментируем (перед каждой строкой ставим #) данный блок:

<Directory "C:/server/Apache Software Foundation/Apache2.2/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 

Подключаем виртуальный хост. Раскомментируйте строчку:

#Include conf/extra/httpd-vhosts.conf

Включаем SSI. Для этого ищем блок начинающийся

<IfModule mime_module>

и раскомментируем строки:

#AddType text/html .shtml #AddHandler server-parsed .shtml .html .htm #AddOutputFilter INCLUDES .shtml 

В тот же блок добавляем строки:

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 

Несколько вариантов подключения PHP.

В самом конце добавляем:

AddType application/x-httpd-php phtml php <Directory "C:/server/PHP"> Options ExecCGI </Directory> ScriptAlias "/php_dir/" "C:/server/PHP/" Action application/x-httpd-php "/php_dir/php-cgi.exe"

Или:

# Подключение PHP, как модуля LoadModule php5_module C:/server/PHP/php5apache2_2.dll AddType application/x-httpd-php .php PHPIniDir "C:/server/PHP/"

Для 64х систем находим и раскомментируем строки:

EnableSendfile Off EnableMMAP Off 

Добавляем:

Win32DisableAcceptEx

Подключаем PhpMyAdmin. Ищем блок

<IfModule alias_module>

и вставляем в него строку:

Alias /pma "C:/www/test/www/phpmyadmin"

Наконец, находим и раскомментируем строки:

#Include conf/extra/httpd-mpm.conf #Include conf/extra/httpd-autoindex.conf #Include conf/extra/httpd-vhosts.conf #Include conf/extra/httpd-manual.conf #Include conf/extra/httpd-default.conf 

Находим и раскомментируем строку:

#ServerName server.belkin:80

Закрываем файл и сохраняем.

Идем по адресу C:/server/Apache Software Foundation/Apache2.2/conf/extra/ и открываем файл виртуальных хостов — httpd-vhosts.conf.

Меняем существующий пример виртуального хоста на:

<VirtualHost *:80> ServerName server.belkin DocumentRoot "C:/www/test/www" ErrorLog "C:/www/test/logs/error.log" CustomLog "C:/www/test/logs/access.log" common </VirtualHost> 

Если вы хотите добавить другие виртуальные сервера, в папке www вам необходимо создать папку с новым именем сайта, например, mysite.ru или mysite. В ней создать папки www и logs. После чего прописать виртуальный хост в httpd-vhosts.conf. По примеру:

<VirtualHost *:80> # Папка, в которой будет корень вашего хоста. DocumentRoot "C:/www/mysite.ru/www" # Домен по которому вы сможете обращаться к виртуальному хосту. ServerName mysite.ru # Алиас (добавочное имя) домена. ServerAlias www.mysite.ru # Файл, в который будут записываться ошибки. ErrorLog "C:/www/mysite.ru/logs/error.log" # Файл журнала доступа к хосту. CustomLog "C:/www/mysite.ru/logs/access.log" common </VirtualHost> 

Настройка Apache завершена. Теперь примемся за настройку PHP.

Настройка PHP.

В папке PHP, которая у нас находится по адресу C:/server/PHP/ находим файл php.ini-production и переименовываем его в php.ini. C помощью блокнота открываем файл и меняем настройки.

Включаем корректировку временной зоны на сервере. Находим:

;date.timezone =


Меняем на:

date.timezone = "Europe/Moscow"

Обратите внимание, что в файле php.ini раскомментировать строку — удалить точку с запятой в начале строки (;). Пояс выставляете по необходимому поясу. В примере Московское время.

Включить поддержку укороченных тегов.

short_open_tag = Off на On

Так же, с Off на On меняем строчки:

display_errors = Off (на настоящем хостинге отключено. Вывод ошибок) register_globals = Off (на настоящем хостинге отключено. Я и на тестовом хостинге советовал бы отключить, но если вы плохо или вообще не разбираетесь в .htaccess, можно и включить) register_long_arrays = Off 

Находим строчку:

error_reporting = E_ALL & ~E_DEPRECATED

и меняем на:

error_reporting = E_ALL & ~E_NOTICE

Находим строчку:

variables_order = "GPCS"

и меняем на:

variables_order = "EGPCS"

Подключаем MySQL. Находим и раскомментируем строчку:

;extension=php_mysql.dll

Определяем место расположения папки ext в директории с установленным PHP. Меняем:

extension_dir ="./"

на:

extension_dir ="С:/server/PHP/ext"

Увеличиваем размер данных, принимаемых методом POST. Ищем строчку:

post_max_size = 8M

и меняем на:

post_max_size = 16M

Увеличиваем максимально допустимый размер загружаемых файлов. Ищем:

upload_max_filesize = 2M

Меняем на нужный нам, например, 50Мб:

upload_max_filesize = 50M

Ищем строчку:

;include_path = ".;c:/php/includes"

и меняем на:

include_path = ".;c:/server/php2/includes"

Создайте в папке server папку php2, а в ней папку includes для хранения подключаемых классов.

Ищем строчку:

;upload_tmp_dir =

меняем на:

upload_tmp_dir = "C:/server/php2/upload"

В папке php2, которая находится в папке server, создаем папку upload для хранения временных файлов загружаемых через HTTP.

Ищем строчку:

;session.save_path = "/tmp"

меняем на:

session.save_path = "C:/php/tmp"

В папке php2, которая находится в папке server, создаем папку tmp для хранения временных файлов сессии.

Внимание!!! Не забывайте раскомментировать строки, которые меняем.

Подключаем библиотеки расширений. Для этого нужно раскомментировать строки:

extension=php_bz2.dll (С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2) extension=php_curl.dll (Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов) extension=php_gd2.dll (Ещё одна незаменимая библиотека, позволяющая работать с графикой) extension=php_mbstring.dll (Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие) extension=php_mcrypt.dll (Библиотека позволяющая работать с большим количеством алгоритмов шифрования, среди которых DES, TripleDES, Blowfish и другие) extension=php_mysqli.dll (Данная библиотека является расширением php_mysql.dll и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше) extension=php_zip.dll (Расширение позволяет полноценно работать PHP с zip архивами) 

Внимание!!! Чтобы библиотека mcrypt.dll работала, нужно скопировать библиотеку libmcrypt.dll (зеркало) в C:/WINDOWS/.

Закройте файл с сохранением. Настройка PHP окончена.

Настройка MySQL.

C помощью блокнота или другого текстового редактора откройте файл my.ini. Он находится по адресу C:/server/MySQL/MySQL Server 5.5/

В раздел [client], после строки:

port=3306

Добавьте строку определяющую каталог содержащий файлы описания кодировок:

character-sets-dir="C:/server/MySQL/MySQL Server 5.5/share/charsets"

В раздел [mysqld], после строки:

port=3306

Добавьте следующие две строки, вторая кодировку в которой данные передаются MySQL:

character-sets-dir="C:/server/MySQL/MySQL Server 5.5/share/charsets" init-connect="SET NAMES cp1251" 

Я использую именно эту кодировку, если вас устраивает utf – выбирайте ее.

Далее, найдите строку:

default-storage-engine=INNODB

Замените изначально устанавливаемый тип таблиц на MYISAM:

default-storage-engine=MYISAM

Все, мы завершили установку MySQL.

Настройки Windows.

Теперь примемся настраивать саму Windows для нашей связки.

Для того что бы система нашла необходимые библиотеки добавляем к системной переменной PATH пути: C:php5;C:php5ext.

Для этого идем в Пуск > Система и безопасность > Система > Дополнительные параметры.

Дальше выбираем переменные среды.

В появившемся окне, в верхней строке выбираем TEMP, в нижней Path и нажимаем «Изменить».

В следующем окне, в параметре значение переменной, листаем до конца, ставим точку с запятой (;) и дописываем C:/php5;C:/php5ext

Сохраняем изменения. Установка переменной PATH окончена. Теперь нам осталось только хосты в Windows.

Итак, настраиваем виртуальные хосты в Windows. Идем по адресу C:/WINDOWS/system32/drivers/etc/. Открываем с помощью блокнота или другого текстового редактора файл hosts. В него добавляем наши виртуальные хосты. В конец файла дописываем:

127.0.0.1 server.belkin

Если вы создали еще виртуальные хосты, то дописываем и их. Возьмем виртуальные хосты из примера — mysite или mysite.ru. Если вы создали папку, а значит и хост mysite, то добавляем:

127.0.0.1 mysite

Если вы создали папку, а значит и хост mysite.ru, то добавляем:

127.0.0.1 mysite.ru

Если вы добавили алиас в настройку виртуального хоста, то добавляем и его.

Настройка Windows завершена.

Все, мы полностью настроили наш сервер. Можно приступать к работе. Итак, сначала копируем файлы скрипта в папку, обозначающую наш домен. В данном случае у нас две папки test и mysite.ru. Для примера возьмем папку test. Копируем в нее файлы скрипта. Затем запускаем Apache и SQL. Если у вас установлена автозагрузка, и вы ее не отключали, то ничего делать ненадо, в противном случае идем Пуск -> Все программы -> Apache HTTP Server 2.2 и запускаем Monitor Apache Servers.

 

 

 

Apache monitor появится в системном трее, как это было описано выше. Выбираем в нем запустить нажимаем на нем правой кнопкой мыши и выбираем Open Services. В открывшемся окне ищем MySQL, нажимаем на него и выбираем Запустить. На самом Apache в той же системной трее нажимаем Start. Наш сервер заработал.

Теперь создаем базу данных для нашего сайта (если этого требует скрипт). В браузере вводим server.belkin/phpmyadmin/ (или pma, смотря как назвали папку). Откроется окно PhpMyAdmin. В строку «Пользователь:» вбиваем root, в «Пароль:» вбиваем пароль, который установили при установки MySQL.

В появившемся окне, в строке новая база данных, вбиваем название нашей базы данных. Название может быть любым, главное, на латинице. Давайте создадим базу test. В окне новая база данных вбиваем test и нажимаем «создать». Наша база данных готова.

Мы уже выгрузили скрипт движка в папку test. В браузере пишем server.belkin. И наш скрипт автоматически предложит установиться, как если бы мы были на хостинге. Теперь устанавливаем скрипт. Название базы будет то, что мы создали, в нашем варианте test. Имя пользователя базы данных — root. Пароль пользователя базы данных — пароль указанный в настройках MySQL (такой же, как при доступе к PhpMyAdmin). Все, теперь мы можем работать.

Для остановки сервера вновь выбираем Open Services, выбираем MySQL, и отключаем его («Отключить»). Затем останавливаем Apache – Stop. И можно выгрузить его из системного лотка — Exit.

Внимание!!! Обращаю ваше внимание на то, что данное руководство не подходит для установки реального сервера. На сервере куда больше других настроек, обеспечивающих безопасность, а так же возможность доступа к базам разных пользователей с различной аутентификацией. Данное руководство для установки сервера для собственных нужд: тестирования скриптов, написание своих скриптов, обучения PHP и SQL, настройки и отладки будущего сайта, отладки систем и т. п.

Часто встречающиеся ошибки.

Со временем я выложу видео урок по установке локального сервера. Видео урок будет платным, однако его цена будет символическая.

Уважаемые читатели! Если вы обнаружили в тексте ошибку, не поленитесь, выделите слово и нажмите CTRL+Enter. Сделаем язык чище!

  • 0
HotIce
18 июня 2011 01:15
avatar
Объемный труд. Запомню.
Вот здесь не понятно:
"В появившемся окне, в верхней строке выбираем TEMP, в нижней Path и нажимаем «Изменить»."
Темп то трогать зачем? Точнее не трогать, а выбирать?
  • 0
Легион
21 июня 2011 14:18
avatar
Цитата: HotIce
"В появившемся окне, в верхней строке выбираем TEMP, в нижней Path и нажимаем «Изменить»."


Не нажав TEMP вы не сможете изменить, так как там три переменные. Чтобы выбрать конкретную переменную, вам нужно клацнуть по TEMP.
  • 0
Ксения
2 июля 2011 12:44
avatar
Здравствуйте.
А почему в PATH нужно добавлять php5 и php5/ext, разве у нас есть такие папки? Есть только php и php/ext...
Спасибо
  • 0
Фёдор
7 июля 2011 10:38
avatar
Здравствуйте. А не могли бы вы выложить на файлообменник уже изменённые файлы (httpd.conf и прочие)
  • 0
Легион
11 июля 2011 18:37
avatar
Ксения, это зависит от того, как вы назвали папки при установке. Можно было назвать и php111, в нашем примере мы назвали её php5? поэтому и вносим php5. Если вы назвали по другому - пишите свои папки.

Фёдор, Постараюсь сегодня\завтра выложить файлы. Однако, и в этом случае они будут работать только в том случае, если вы устанавливали, как я описал, а не по своим путям, так как в изменениях указываются реальные пути.

Скачать настройки сервера
  • 0
Георгий
4 августа 2011 00:28
avatar
Танцы с бубном, три дня....
Вот эти строчки, (соответственно 129 и 130, после так называемого "блока загрузки модулей") в Apache-вском файле httpd.conf (Apache2.2\conf\):
LoadModule php5_module "c:/php5/php5apache2_2.dll"
PHPIniDir "C:/php5"

выключают Апач.... после их прописания Апач выдает сообщение "The requested operation has failed!". Значок Апача в трее показывает, что он остановлен (маленький красный квадрат в белом кружке с пером).

Если эти строки удалить, то Апач запускается, показывает маленький зеленый треугольник-стрелку)

И что это значит?
Может эти строки вообще не нужны? Остальные вроде нормально встали...
Еще замечено, что "модули загрузки" имеют расширение .so , а к ним надо впихнуть модуль с расширением .dll , может в этом причина?

P.S. выявилась непонятная проблема в том же файле с написанием строки:
DocumentRoot "C:/www"
если ее скопировать с сайта (отсюда) или с Ворда, то Апач так же отключается... проблема решилась ручным написанием в английской разметке. :belay:

Сии факты были выявлены путем исключения с помощью замечательной программы Notepad++ v5.9.3, совершенно бесплатной, поддерживающей нумерацию строк и памятью на совершенные изменения (отменял сделанные записи и включал Апач пока не включится, так и дошел до названных строк, после их отмены Апач включился).
  • 0
Георгий
4 августа 2011 22:59
avatar
Проблема решилась!
Путем деинсталяции PHP.exe (в нем был php5apache2_2.dll, но никак не хотел работать, v5.3.6), скачивания PHP.zip, его распаковки, установки и настройки.

Скачивал отсюда - http://windows.php.net/download/#php-5.3-nts-VC9-x86
причем версии PHP v5.3.6 VC9 x86 Thread Safe (во втором блоке) zip-файл 15,13MB

Итого получилась связка:
Apache 2.2.19 openssl 0.9.8r
PHP v5.3.6 VC9-x86
MySQL 5.5.15
PhpMyAdmin 3.4.3.2

Всё заработало! И табличка PHP вышла, и панель PhpMyAdmin появилась, вставил логин и пароль, и.... мучения с двумя строчками в httpd.conf мне показались невинным, увлекательным времяпрепровождением.... столько настроек и параметров открылось, одним словом "темный лес в дремучем лесу".

Хотя собственно чем трудней, тем интересней )))) а автору статьи спасибо, написано очень просто и с примерами, правда как "комментировать" строчки непонятно (с отступом или без? или с пробелом?), да дистрибутивы подкачали, но без этого скучновато было-бы. ))))
  • 0
Легион
8 августа 2011 17:44
avatar
Цитата: Георгий
Вот эти строчки, (соответственно 129 и 130, после так называемого "блока загрузки модулей") в Apache-вском файле httpd.conf (Apache2.2\conf\):LoadModule php5_module "c:/php5/php5apache2_2.dll"PHPIniDir "C:/php5"выключают Апач.... после их прописания Апач выдает сообщение "The requested operation has failed!". Значок Апача в трее показывает, что он остановлен (маленький красный квадрат в белом кружке с пером).


Там описаны два варианта, если включить сразу оба - они конфликтуют. По одиночке работают стабильно.

Цитата: Георгий
Еще замечено, что "модули загрузки" имеют расширение .so , а к ним надо впихнуть модуль с расширением .dll , может в этом причина?


Именно, вы попытались запустить две различные загрузки.

Цитата: Георгий
P.S. выявилась непонятная проблема в том же файле с написанием строки: DocumentRoot "C:/www"если ее скопировать с сайта (отсюда) или с Ворда, то Апач так же отключается... проблема решилась ручным написанием в английской разметке.


Я писал в win-1252. Если ваша версия на utf - 8 - код априори не мог подойти smile . Поэтому лучше текст копированный с сайтов вставлять не в документ, а в Notepad++.

Цитата: Георгий
Всё заработало! И табличка PHP вышла, и панель PhpMyAdmin появилась, вставил логин и пароль, и.... мучения с двумя строчками в httpd.conf мне показались невинным, увлекательным времяпрепровождением.... столько настроек и параметров открылось, одним словом "темный лес в дремучем лесу".


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

Цитата: Георгий
правда как "комментировать" строчки непонятно (с отступом или без? или с пробелом?)


Опытов не проводил, но половина комментариев с пробелом, половина без, и все работает, поэтому сомневаюсь, что это играет роль smile

Цитата: Георгий
да дистрибутивы подкачали, но без этого скучновато было-бы


Дистрибутивы были актуальны на момент написания статьи. Тогда это были последние версии smile . Кстати, они все работают smile У меня до сих пор стоит сервер описанный тут, даже с тем же доменом smile
  • 0
Денис
9 августа 2011 02:38
avatar
Но ведь мы устанавливали PHP на C;\server\PHP, а Вы пишите, что при настройке Windows в PATH нужно вписать C:\php5\;C:\php5\ext\.
  • 0
Легион
9 августа 2011 19:17
avatar
Ага, прошу прощения, заметил ошибку. Действительно, путь должен быть C;\server\PHP;C;\server\PHP\ext\. Видать запутался, потому что проверял сразу несколько продуктов. Спасибо за замечание.
  • 0
Гуля
24 августа 2011 13:55
avatar
Здравствуйте! Устанавливала Apache, PHP и MySQL по этой инструкции. Брала версии, которые вы выложили. При входе в phpmyadmin вылетает ошибка: "Невозможно загрузить расширение mysql! Проверьте настройки PHP." Строчки extension_dir ="С:/server/PHP/ext" и extension=php_mysql.dll в php.ini присутствуют и не закомментированы. Не подскажите, в чем может быть проблема?
  • 0
Легион
25 августа 2011 15:26
avatar
Гуля, добрый день. Вероятней всего у вас не запущен MySQL. Проблем может быть много. Самое первое, что сделайте - скачайте готовые настройки сервера. Они находятся в комментариях чуть выше. Обратите внимание, что чтобы они были работоспособными, все должно быть сделано по инструкции. Если проблема останется той же, то проверьте, запущен ли у вас MySQL.
Для запуска SQL запускаем Apache, затем выбираем Service. Вы попадете в службу сервисов. Там ищем SQL и нажимаем «Запустить». Таким же способом и отключаем, только нажимаем «Остановить».

Если не получится - отпишитесь.
  • 0
Гуля
25 августа 2011 16:56
avatar
В phpinfo в разделе mysql: MySQL Support => enabled.
При таком коде на странице выдается "MySQL present":
<?php
if (function_exists(mysql_connect)) {
echo 'MySQL present';
} else {
echo 'MySQL not present';
}
?>

MySQL точно запущен

Кажется, именно phpmyadmin неправильно работает
  • 0
Легион
26 августа 2011 22:21
avatar
Попробуйте удалить MyAdmin и загрузить по новой. Так же, возможно в настройках MyAdmina вы полезли в какие либо настройки дополнительные. Попробуйте загрузить оригинальный настроенный файл, который я выкладываю тут.
Конфигурация MyAdmin
  • 0
Гуля
30 августа 2011 13:02
avatar
Большое спасибо за помощь! PhpMyAdmin заработал сам, без каких-либо манипуляций с моей стороны.
  • 0
Alex
30 сентября 2011 11:16
avatar
session.save_path = "C:/php/tmp"
папке php2, которая находится в папке server, создаем папку tmp для хранения временных файлов сессии.


C:/php2/tmp
  • 0
Егор Грушко
30 сентября 2011 11:18
avatar
Легион. У меня ВСЕ пути не такие как у тебя и я в них совсем запутался ты можешь написать какой путь куда указывает? :winked: Может я не много наглый, но плиз.
  • 0
Легион
1 октября 2011 00:05
avatar
Завтра проверю все пути, и исправлю неверные пути на верные, так как видимо сюда вкрались настройки прошлого сервера, и я половину настроек написал от данного, половину от прошлого.

Егор Грушко, видать, вы устанавливали по умолчанию. Пришлите мне все ваши пути.

Alex, многие новички не понимают путей такого вида, поэтому я пишу их довольно сложно для человека, разбирающегося в компьютерах, но понятной для новичков форме.
  • 0
Николай
3 октября 2011 19:12
avatar
Легион,
Возникает проблема аналогичная предыдущей проблемеГуля,
но в http://localhost/info.php нет раздела mysql или mysqli (причем там есть mcrypt, mysqlnd, mhash etc.)
Описание ошибки "Расширение mysql не найдено. Пожалуйста, проверьте ваши настройки PHP."
  • 0
Легион
3 октября 2011 20:04
avatar
Николай, вероятней всего вы не вписали нахождение библиотеки MySQL в настройках PHP. В посте описана данная настройка:
Подключаем MySQL. Находим и раскомментируем строчку:

;extension=php_mysql.dll

Это делается в файле php.ini
  • 0
Николай
3 октября 2011 20:38
avatar
Легион,
В php.ini extension=php_mysql.dll есть, дальше в папке ext php_mysql.dll присутствует.

Также на localhost/ в браузере (server name) выдает список файлов, хотя до какого-то момента (не могу скачать точно) выдавалась налпись "It works!" (характеризует работу php ?)

Поля mysql и mysqli появились в info.php. По предложенному выше скрипту проверил, что mysql работает. Проблема осталась.
...
Ммм. Пока писал все заработало. Ничего не изменял. Хотя минутой ранее сообщение об ошибке было.
Спасибо за статью. +)

Но все же остался один вопрос. На localhost/ список файлов выдает. Так и должно быть, или нет?
  • 0
Легион
4 октября 2011 19:08
avatar
Цитата: Николай
В php.ini extension=php_mysql.dll есть, дальше в папке ext php_mysql.dll присутствует.

Строчка раскомментирована?
Цитата: Николай
Также на localhost/ в браузере (server name) выдает список файлов, хотя до какого-то момента (не могу скачать точно) выдавалась налпись "It works!" (характеризует работу php ?)

Php будет работать и без MySQL. MySQL - это лишь база данных, но не чать интерпретатора.
Цитата: Николай
Поля mysql и mysqli появились в info.php. По предложенному выше скрипту проверил, что mysql работает. Проблема осталась.

Вероятно, вы, как я советовал, не поставили на автозапуск SQL, и он у вас не был запущен.
Цитата: Николай
Но все же остался один вопрос. На localhost/ список файлов выдает. Так и должно быть, или нет?

Какие фалы есть? Если есть файл Index.расширение - то такого быть не должно. Если файла Index нет - само-собой он будет показывать файлы.
Если в корне есть Index, то вы не настроили:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php
</IfModule>

Настраиваем в httpd.conf
  • 0
Юрий
15 января 2012 00:40
avatar
И на фига так замораживаться?
Какие такие проблемы возникают с denwer на win7? Ставил на 4 машины, все крутится отлично и не вякает. Последние версии всех скриптов тоже работают...

Автор жжет ппц! Убери, будь добр, мыло из паблика предыдущего поста...
  • 0
САВАС
1 февраля 2012 17:04
avatar
Понравилась статья,для начинающих наверно самое то. Но вот возникла ошибка которая была у Гули и Николая.

Внимание! У Вас нет прав для просмотра скрытого текста.


Сделал все по инструкции,взял архив с готовыми файлами. Данный скрипт срабатует положительно:
Внимание! У Вас нет прав для просмотра скрытого текста.


Такой вот :
Внимание! У Вас нет прав для просмотра скрытого текста.

Выдает канонаду не всего . В часности :
Внимание! У Вас нет прав для просмотра скрытого текста.


Пытался менять строчкуи
Внимание! У Вас нет прав для просмотра скрытого текста.


В чем могут быть проблема? Увы как у всех у меня он со временем не как не заработает :sad:

О боги ?не знаю, что и почему но вот ,что обнаружилось случайно. Захожу на ex.ua (чьи сервера перестали работать вчера) и он мне выдает мою заглавную страницу (server.belkin) . В итоге server.belkin/phpmyadmin - по прежнему ошибка , а на http://www.ex.ua/phpMyAdmin/ работает. оО Где и что напутано ? =)

Фантастика... работает все как надо ... Не чего не делал =/
  • 0
Легион
2 февраля 2012 16:04
avatar
САВАС, делал smile Перезапустил сервер smile После любых изменений, они вступают в силу поле перезагрузки сервера.
  • 0
Дмитрий
12 февраля 2012 20:41
avatar
LoadModule php5_module c:/server/PHP/php5apache2_2.dll нет строки после распаковки и переноса!!!! - где взять????
  • 0
Легион
12 февраля 2012 22:11
avatar
Дмитрий, ваш путь может отличаться. Он действителен в том случае, если вы ВСЁ делали, как описано тут, и пути у вас такие же. Если вы устанавливали по УМОЛЧАНИЮ, то и ваш адрес будет другой. Если все таки данного файла нет - я вышлю, только его нужно будет установить в папку с установленным PHP, а он там есть гарантировано. Просто найдите куда вы установили PHP, и пропишите адрес по данному пути.
  • 0
Дмитрий
13 февраля 2012 14:03
avatar
Легион,
Попробую еще раз по новой, ной длл я даже через поиск не нашел!!!!
  • 0
Легион
13 февраля 2012 14:40
avatar
Дмитрий, проблема еще может быть в другой версии PHP. Если вы установили другую версию, то название у библиотеки (dll) может быть другим, например, php5apache2_3.dll Ищите похожую библиотеку, и прописывайте ее.
  • 0
Дмитрий
13 февраля 2012 20:51
avatar
фигня какая то все поключил все прописал в базову страницу не заходит апач-работает
Not Found

The requested URL / was not found on this server.
Apache/2.2.17 (Win32) PHP/5.3.5 Server at localhost Port 80

в чем может быть проблема???

Еще если меняю виртуалхост, то апач не запускается!!!!

после чего прописывать
PHPIniDir "C:/server/PHP"??????

да 6-ть лет назад всего то 4-ре строчки менял и все работало
видать уже руки кривые стали :wassat:
  • 0
Легион
14 февраля 2012 16:02
avatar
Цитата: Дмитрий
после чего прописывать
PHPIniDir "C:/server/PHP"??????


Данная строчка уже есть в файле, ей лишь нужно прописать путь. Кстати, в описании написано два варианта подключения PHP, как модуля и нет. Если вы вбили оба варианта, то работать не будет,так как будет конфликт.

Вы прописали в hosts адреса сервера? Это тоже немаловажно.

Прочтите в конце поста часто встречающиеся ошибки. Нужно нажать на "ВНИМАНИЕ".

Изменения вносите при помощи notepad +++, выставив синтаксис. Он вам поможет показать, где пропущен какой из знаков, а где нет (нарушение правильности кода).

Позже напишите, что именно не получилось, или получилось.
  • 0
Дмитрий
6 марта 2012 09:56
avatar
Привет Легион.
Все заработало + все тесты по ПХП и МСКЛ показывают, что все ок, - остался последний трабл и решить его не могу посоветуй так как чето не получается, а именно проблема с пхпадмином
упорно посылает меня красной строкой
**Произошла ошибка в работе механизма сессии. Проверьте файлы журналов PHP и/или Веб-сервера на наличие ошибок, и произведите их корректное конфигурирование.**
ВСе проверил даже файлы полностью переделывал - ничего не хотит работать и главное ошибка не меняется!!!

script 'E:/www/test/www/error.php' not found or unable to stat
[Tue Mar 06 00:02:30 2012] [error] [client 127.0.0.1] File does not exist: E:/www/test/www/favicon.ico
[Tue Mar 06 00:23:23 2012] [error] [client 127.0.0.1] PHP Warning: session_start(): open(E:/php2/tmp\\sess_f38rqp8bh3c5jcfooi3fpsnmj1, O_RDWR) failed: No such file or directory (2) in E:\\www\\test\\www\\index.php on line 26
[Tue Mar 06 00:23:23 2012] [error] [client 127.0.0.1] PHP Warning: mysql_connect(): Access denied for user ''@'localhost' (using password: NO) in E:\\www\\test\\www\\includes\\database\\mysql.php on line 13
[Tue Mar 06 00:23:23 2012] [error] [client 127.0.0.1] PHP Warning: mysql_get_server_info() expects parameter 1 to be resource, boolean given in E:\\www\\test\\www\\includes\\database\\mysql.php on line 14
[Tue Mar 06 00:23:23 2012] [error] [client 127.0.0.1] PHP Warning: Unknown: open(E:/php2/tmp\\sess_f38rqp8bh3c5jcfooi3fpsnmj1, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[Tue Mar 06 00:23:23 2012] [error] [client 127.0.0.1] PHP Warning: Unknown: Failed to write session data (files).

вобщем пока разобраться в данной тарабарщине не могу сам - хелп
  • 0
Легион
8 марта 2012 20:05
avatar
Дмитрий, подобная ошибка была, когда я пытался сам сконфигурировать файл настройки админа. Необходимо просто переименовать файл config.sample.inc.php в config.inc.php. А так же, в httpd.cohf подключить myadmin. Ищем блок
<IfModule alias_module>

и вставляем в него строку:
Alias /pma "C:/www/test/www/phpmyadmin"

Не забудьте, что последняя папка должна соответствовать названию вашей папки с myadmin. Например, pma, myadmin, admin... Если у вас папка называется pma, а путь такой, как описан тут - работать не будет.
Кстати, в одном из комментариев я вставил конфигурационный файл работающего myadmina. Попробуйте скачать и установить его.
  • 0
comments powered by Disqus

Ваше Имя:

Ваш E-Mail:

Или войтите с помощью социальных сетей

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
  • Введите два слова, показанных на картинке: