1

Тема: phpmyadmin и localhost

установил MySQL + php + apache + phpmyadmin как описано в статье "Инструментарий веб-разработчика", но у меня почему-то не получается правильно зайти по этому адрусу localhost/phpmyadmin, возможно зайти в phpmyadmin, только если наберу localhost, а затем по ссылкам которые там указаны, а именно localhost/www/phpmyadmin, в целом в адресной строке браузера выводится такая ссылка
http://localhost/localhost/www/phpmyadmin/, Если ввести localhost/pma всё ok. Ещё пробовал переместить phpmyadmin в папку test.ru/www
дак там тоже было без проблем, подскажите в чём может быть причина неполадок?
И ещё вопрос где можно скачать документацию по php на русском языке в формате .chm, на этом сайте не нашёл http://www.php.net/download-docs.php, хотя в статье было написано что есть?

2

Re: phpmyadmin и localhost

defi
Вероятно вы допустили ошибку при редактировании виртуального хоста localhost. Сверьте со статьей, или покажите как выглядит ваш httpd-vhosts.conf.

На счет документации вы правы, ее перестали обновлять и положили в архив. chm файла я не нашел, но документация на русском в html лежит здесь: http://pear.php.net/manual/

Упоминание русской документации отредактируем при очередном обновлении статьи. Спасибо за указание на неточность.

3 (изменено: Hanut, 2009-10-10 20:30:46)

Re: phpmyadmin и localhost

вот мой httpd-vhosts.confg

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    # ServerAdmin webmaster@dummy-host.localhost
    # DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost"
    # ServerName dummy-host.localhost
    # ServerAlias www.dummy-host.localhost
    # ErrorLog "logs/dummy-host.localhost-error.log"
    # CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>

<VirtualHost *:80>
    # ServerAdmin webmaster@dummy-host2.localhost
    # DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost"
    # ServerName dummy-host2.localhost
    # ErrorLog "logs/dummy-host2.localhost-error.log"
    # CustomLog "logs/dummy-host2.localhost-access.log" common
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "C:/apache/localhost/www"
   ServerName localhost
   ErrorLog "C:/apache/localhost/error.log"
   CustomLog "C:/apache/localhost/access.log" common
</VirtualHost>

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

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

4 (изменено: defi, 2009-10-11 10:07:34)

Re: phpmyadmin и localhost

Ура заработало, спасибо Hanut, но у меня есть ещё одна проблема, до этого я пользовался денвером (MySQL 3.23.53, phpMyAdmin 2.5.6, php 4.3.6, apache 1.3.27) и от туда экспортировал свою базу, чтобы импортировать в MySQL 5.1.39 через phpMyAdmin 3.2.2, теперь когда просматриваю таблицу в phpMyAdmin вместо русских букв вижу знаки вопросы, ввожу в адресной строке адрес сайта тоже самое. Пробовал по другому, когда делал импорт этой базы, чуть ниже строки выбора импортированного файла, поставил кодировка файла cp1251 (по умолчанию было utf8), теперь в таблице было всё нормально, но при выводе через браузер всё равно знаки вопросов.
Затем я решил создать базу с нуля, создал пару полей, вставил данные и вывел через браузер, но результата не было, значит я подозреваю что не правильно настроен MySQL, хотя всё точно делал как было описано в статье. Помогите разобраться с етим вопросом.

5

Re: phpmyadmin и localhost

defi
1) Укажите подировку сайта. Полагаю она будет windows-1251.
2) Покажите вывод SQL запроса:
SHOW GLOBAL VARIABLES LIKE 'char%';
3) Посмотрите в какой кодировке (в каком сравнении) находятся импортированные таблицы, когда кириллица становится читаема. Должно быть cp1251_general_ci.

6

Re: phpmyadmin и localhost

1) Hanut, подскажи как указать кодировку сайта?

2) вывод SQL запроса SHOW GLOBAL VARIABLES LIKE 'char%';:

character_set_client         cp1251
character_set_connection     cp1251
character_set_database          cp1251
character_set_filesystem          binary
character_set_results         cp1251
character_set_server         cp1251
character_set_system        utf8
character_sets_dir         C:\Program Files\MySQL\MySQL Server 5.1\share\char..

P.S. а что этот запрос означает?
SHOW VARIABLES LIKE 'character%'
показывает:

character_set_client                utf8
character_set_connection    cp1251
character_set_database                cp1251
character_set_filesystem                binary
character_set_results               utf8
character_set_server               cp1251
character_set_system              utf8
character_sets_dir              C:\Program Files\MySQL\MySQL Server 5.1\share\char.


3) таблица в читаемом и не читаемом виде(пробовал по разному импортировать файл), когда смотрю столбец сравнение, не меняется,всё время cp1251_general_ci.

7

Re: phpmyadmin и localhost

defi
Кодировка сайта определяется соответствующим мета-тегом внутри тега head html страницы:
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />

Кодировка мета-тега должна соответствовать кодировке файла. Ошибкой может быть файл в кодировке utf-8. Кодировку файла можно узнать с помощью текстового редактора, например, Notepad++.

Кодировка соединения с MySQL у вас стоит в cp1251 (character_set_connection cp1251) и если данные в БД видны нормально, то все должно работать.

Второй из упомянутых вами запросов выбирает локальные значения переменных, а первый - глобальные (GLOBAL).

8 (изменено: defi, 2009-10-12 17:27:08)

Re: phpmyadmin и localhost

решил проблему, когда в БД отображение текста было нормальным, после соединения с БД вставил такую строку: mysql_query ("SET NAMES cp1251"); и всё заработало, спасибо Hanut за помощь.