1

Тема: IIS7+php+mysql+phpmyadmin

Не могу установить phpMyAdmin на Веб сервер под управлением IIS 7.

Конфигурация:

1. Windows Server 2008 (x86)
2. IIS 7.0
3. PHP 5.2.10 (прикрученный к IIS в связке IIS+FastCGI+PHP)
4. MySQL 5.0
5. phpMyAdmin 3.2.0

Описание проблемы:

При запуске phpMyAdmin браузер выдает следующее

Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: files (path: ) in D:\PHPSait\phpMyAdmin\libraries\session.inc.php on line 73

Все другие php приложения если их поместить в туже дерикторию (D:\PHPSait\phpMyAdmin\) запускаються без проблем, а вот сам pma ну ни в какую не хочет запускаться. Подскажите пожалуйста, что делать?

Подробное описание проделанных настроек:

PHP настроенно так:

Редакция php.ini:

short_open_tag = On
display_errors = On
register_globals = Off
register_long_arrays = On

post_max_size = 16M

cgi.force_redirect = 0

include_path = ".;c:\php\includes"
Создал пустой каталог "C:\php\includes", для хранения подключаемых классов.

extension_dir = "C:/php/ext"
upload_tmp_dir = "C:/php/upload"
Создал пустую папку "C:\php\upload", для хранения временных файлов загружаемых через HTTP.

upload_max_filesize = 16M

Подключил, расскомментировав, данные библиотеки расширений:

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_zip.dll

session.save_path = "C:/php/tmp"
Создал пустую папку "C:\php\tmp" для хранения временных файлов сессий.

Раздел MySQL настроен следующем образом

[MySQL]

mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port = 3306
mysql.default_socket =
mysql.default_host = localhost
mysql.default_user = root
mysql.default_password = *******
mysql.connect_timeout = 60
mysql.trace_mode = Off


Строка Path в насройках OS

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\php;C:\Program Files\MySQL\MySQL Server 5.0\bin

3. Теперь сам злощасный phpMyAdmin

Распаковываю дистр phpMyAdmin-3.2.0-all-languages в корневой каталог сайта, для удобства переименовываю папку в phpMyAdmin

Настраиваю сам phpMyAdmin слдедующем образом. В корнеовом каталоге phpMyAdmin копирую файл config.sample.inc.php, переименовываю его в config.inc.php и задаю следующие настройки:

<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'пароль'; // Пароль пользователя root
?>

Вроде все.

И теперь при обращение в браузере по адресу www.мойдомен.org/phpMyAdmin получаю следующее

Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: files (path: ) in D:\PHPSait\phpMyAdmin\libraries\session.inc.php on line 73

Где у меня руки кривые подскажите пожалуйста??? Очень надеюсь на вашу помощь...

2

Re: IIS7+php+mysql+phpmyadmin

thephill
Проверьте не включен ли в PHP safe_mode, и если включен - то попробуйте выключить.
В любом случае, проблема в сессиях и надо смотреть в этом направлении. Попробуйте внимательнее посмотреть на session.save_path, в том числе и из под phpinfo();

ВКонтакте Facebook Twitter

3

Re: IIS7+php+mysql+phpmyadmin

Точно такая же проблема. IIS7 + Mysql + PHP on Win Serv 2008 x64.
Конфиг такой же, в пхпинфо нормально отображается session.save_path как /tmp (находится в c:\php\tmp). PMA выдает следующее:
[spoiler]phpMyAdmin - Ошибка
Произошла ошибка в работе механизма сессии. Проверьте файлы журналов PHP и/или Веб-сервера на наличие ошибок, и произведите их корректное конфигурирование.
[/spoiler]
Safe_mode выключен. Я уже и не знаю что думать.

4

Re: IIS7+php+mysql+phpmyadmin

Stan
в пхпинфо нормально отображается session.save_path как /tmp - Это ошибка, Windows не найдет /tmp.

Пропишите так:
session.save_path = "C:/php/tmp"

ВКонтакте Facebook Twitter

5

Re: IIS7+php+mysql+phpmyadmin

Hanut, в php.ini именно так и прописано (session.save_path="C:\PHP\tmp")

6

Re: IIS7+php+mysql+phpmyadmin

Stan
Если в phpinfo стоит /tmp, а не C:/php/tmp, значит где-то ошибка, либо данный конфигурационный файл не читается, либо не снят комментарий с данной строки. Откуда читается конфигурационный файл можно посмотреть там же в phpinfo, сверху.

Попробуйте поставить прямые косые черты в пути, а не обратные.

ВКонтакте Facebook Twitter

7

Re: IIS7+php+mysql+phpmyadmin

Hanut, спасибо огромное! Точно забыл снять комментарий smile А глаз замыленный - не заметил. Однако одна проблема решилась, но тут же появилась вторая.
[spoiler]Ответ MySQL: 

#1045 - Access denied for user 'root'@'localhost' (using password: YES)

phpMyAdmin не смог установить соединение с сервером MySQL. Проверьте хост, имя пользователя и пароль установленные в конфигурационном файле config.inc.php и удостоверьтесь, что они соответствуют данным полученным от администратора сервера MySQL.
[/spoiler]

8

Re: IIS7+php+mysql+phpmyadmin

Stan
Ошибка означает, что пароль root в конфигурационном файле phpMyAdmin указан неверно.

Попробуйте подключиться к MySQL из командной строки:
mysql -uroot -ppass
Замените слово pass на пароль пользователя root.

ВКонтакте Facebook Twitter

9

Re: IIS7+php+mysql+phpmyadmin

Hanut, та же фигня, хотя пароль правильный.

10

Re: IIS7+php+mysql+phpmyadmin

Stan
Даже не знаю чем еще могу помочь.

ВКонтакте Facebook Twitter

11

Re: IIS7+php+mysql+phpmyadmin

Может кто-нибудь встречался с такой проблемой:
Конфигурация:

1. Windows Server 2008 (x64)
2. IIS 7.0
3. PHP 5.2.11 (прикрученный к IIS в связке IIS+FastCGI+PHP-CHI.exe)
4. MySQL 5.1 х64
5. phpMyAdmin 3.2.0

Описание проблемы:

php запустить удалось, только рн не видит конфигурационного файла. Ни в папке установки, пробовал и в f:\windows кидать. Все равно phpinfo(); выдает? что директория файла конфигурации f:\windows, а задействованых файлов конфигурации нет!!! Так он у меня не находит в связи с этим ни одного модуля.
Вот помню в apache настраивал httpd.conf, так там нужно было указать phpinidir. А как нужно поступить в моем случае?

12

Re: IIS7+php+mysql+phpmyadmin

Евгений
Для PHP запускаемый как CGI необходимо указать путь к каталогу содержащему конфигурационный файл php.ini с помощью переменной окружения PHPRC.

Значение переменной PHPRC устанавливается так:
Control Panel -> System -> вкладка Advanced -> Кнопка Environment Variables -> раздел System variables. Жмите кнопку New, введите имя переменной PHPRC и в значении путь к каталогу содержащему конфигурационный файл, например, C:\php.

Если сразу после создания PHPRC не заработает, попробуйте перезагрузить компьютер.

ВКонтакте Facebook Twitter

13

Re: IIS7+php+mysql+phpmyadmin

отлично, заработало.

Отредактировано Евгений (2009-10-15 23:00:44)

14

Re: IIS7+php+mysql+phpmyadmin

Евгений
Вроде вы все правильно сделали, даже не знаю почему так выходит с подгрузкой конфигурационного файла. Придется вам поискать людей с такой конфигурацией, как у вас и узнать что они делали для запуска PHP.

Посмотрите здесь, может что-нибудь найдете: http://lv.php.net/manual/en/faq.installation.php

ВКонтакте Facebook Twitter