Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Нет коннекта mysql с php!

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Нет коннекта mysql с php!
Имя
Сообщение << Старые топики   Новые топики >>
Нет коннекта mysql с php! - 2007-03-26 12:06:29.030000   
Pr1De

Сообщений: 37
Оценки: 0
Присоединился: 2007-01-04 12:37:20.206666
привет.Вот такая проблема изучаю PHP и никак не получается работать с mysql не коннектится(в денвере)!
Пароль,логин и хост правельный пишу(совпадает с параметрами в php.ini в функции (mysql_connect).
mysql.default_user =
mysql.default_host =
mysql.default_password =

Прочитал ,что в php.ini надо подключить библиотеку ;extension=php_mysql.dll ,но у меня ее там нет,а если добавить то при загрузке Денвера ругается что не может подключить!
Подскажите плиз что делать?


Post #: 1
RE: Нет коннекта mysql с php! - 2007-03-26 13:04:50.666666   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
Смысл гадать, когда PHP должен явно сообщать, В ЧЁМ КОНКРЕТНО проблема.
quote:

Пароль,логин и хост правельный пишу(совпадает с параметрами в php.ini

php.ini тут вообще никаким боком. MySQL и PHP - разные вещи если что. И параметры подключения к MySQL ну никак не могут лежать в конфиге к PHP. Точнее, прописать их там, конечно, можно, но работать это всяко не будет
Post #: 2
RE: Нет коннекта mysql с php! - 2007-03-27 18:57:12.413333   
j0ker_

Сообщений: 609
Оценки: 0
Присоединился: 2005-03-07 15:09:25
Ошибку то какую конкретно выдает?
Post #: 3
RE: Нет коннекта mysql с php! - 2007-03-28 06:39:52.690000   
Net_FOX

Сообщений: 126
Оценки: 0
Присоединился: 2005-01-24 16:25:37
какую выдает ошибку и каким образом вообще ты подключаешся?! код в студию!
Post #: 4
RE: Нет коннекта mysql с php! - 2007-03-28 13:11:10.436666   
Lord Divius

Сообщений: 188
Оценки: 0
Присоединился: 2005-12-31 15:44:03
Denver переустановите. он должен работать корректно..
но думаю просто надо указывать при подключениивсе параметры (логин,пароль итд), то бишь в функции mysql_connect.
Дефолтные значения конечно должны работать, но если ВЫ их заполните, а не спишите оттуда (с чего вдруг?) пустые значения (по умолчанию они и впрямь пустые…). тогда можно будет вызывать mysql_connect без параметров…
Post #: 5
RE: Нет коннекта mysql с php! - 2007-03-29 10:06:42.703333   
F0R

Сообщений: 77
Оценки: 0
Присоединился: 2007-01-14 23:50:22.496666
Раскоментировать строку надо, но прикол в том, что в некоторых поставках пхп нет данного модуля и его надо скачать на сайте пхп. Сам сталкивался с этой проблемай. А вообще настраивать и ставить надо вручную.
Post #: 6
RE: Нет коннекта mysql с php! - 2007-03-29 10:08:01.656666   
F0R

Сообщений: 77
Оценки: 0
Присоединился: 2007-01-14 23:50:22.496666
Раскоментировать строку надо, но прикол в том, что в некоторых поставках пхп нет данного модуля и его надо скачать на сайте пхп. Сам сталкивался с этой проблемай. А вообще настраивать и ставить надо вручную.
Post #: 7
RE: Нет коннекта mysql с php! - 2007-03-30 20:07:33.330000   
spectrum

Сообщений: 53
Оценки: 0
Присоединился: 2006-05-18 02:13:58
Может ругаться на неправильную версию модуля,я с этим тоже намучался
 
Post #: 8
RE: Нет коннекта mysql с php! - 2007-08-16 12:04:57.966666   
5car7ace

Сообщений: 34
Оценки: 0
Присоединился: 2007-07-16 09:05:13.196666
quote:

ORIGINAL: F0R

Раскоментировать строку надо, но прикол в том, что в некоторых поставках пхп нет данного модуля и его надо скачать на сайте пхп. Сам сталкивался с этой проблемай. А вообще настраивать и ставить надо вручную.

А я читал,что если такой билиотеки(модуля) нет в extensions , то она встроена в ядро php. У меня такой библиотеки нету, но php отлично коннектится к MySQL.   
Post #: 9
RE: Нет коннекта mysql с php! - 2007-08-22 10:11:30.150000   
Shah

Сообщений: 8
Оценки: 0
Присоединился: 2007-08-20 23:05:08.400000
Установка Web-сервера Apache в связке с PHP 5 и MySQL (Apache+PHP+MySQL)

Установка Web-сервера Apache

Запустите установщик Web-сервера Apache apache_2.0.48-win32-x86-no_ssl. Результатом будет окно с лицензионным соглашением, после принятия которого, следует перейти к следующему окну с краткой информацией о нововведениях во второй версии Apache. Следующее окно, показанное на рисунке, позволяет ввести информацию о сервере: доменное имя сервера, имя сервера и адрес электронной почты администратора. Если установка происходит на локальную машину, то в поля для доменного имени и имени сервера следует ввести localhost (рисунок 1). В нижней части окна предлагается выбрать номер порта по которому сервер будет принимать запросы (80 или 8080).



Рисунок 1

localhost – это имя для использования сервера на локальной машине, которое связано с IP-адресом 127.0.0.1, который зарезервирован для локального использования.
После этого будет предложен способ установки: стандартный (Typical) или выборочный (Custom), позволяющий выбрать компоненты сервера вручную. Следующее окно позволяет выбрать каталог установки сервера, по умолчанию это C:Program FilesApache Group, но мы рекомендуем выбрать другой каталог, например, С:\usr\local\. После этого мастер установки сообщит о готовности к процессу установки и после нажатия кнопки Install, будет произведено копирование файлов сервера. Если установка прошла успешно, Windows автоматически запустит Apache.
После успешной инсталляции при наборе в окне браузера http://localhost/ или http://127.0.0.1/ - должна загрузится страница сервера (рисунок 2).



Рисунок 2

Теперь необходимо научиться управлять Apache, а именно научится запускать, останавливать и перезапускать сервер. Существует много способов осуществить эти операции: при помощи утилиты ApacheMonitor, используя консоль управления сервисов Windows, используя пункты меню Пуск, из командной строки… Мы рассмотрим консоль управления сервисов Windows, позволяющего настроить Apache для автоматического старта при запуске системы. Для запуска консоли управления выполните команду
Пуск->Настройка->Панель управления->Администрирование->Службы.
В появившемся окне консоли, на приведённом ниже рисунке, следует выбрать сервис Apache2. Контекстное меню, открывающееся по нажатию на правой кнопке, позволяет осуществлять запуск, остановку и перезапуск сервиса.
Службы Windows (рисунок 3) позволяют осуществлять запуск фоновых приложений при старте системы. Для этого необходимо перейти в окно Свойства, выбрав в контекстном меню сервиса пункт Свойства и в появившемся окне в выпадающем списке "Тип запуска" выбрать пункт "Авто".
Теперь можно приступить к настройке конфигурационного файла Web-сервера Apache — httpd.conf, расположенного в папке C:/usr/local/Apache2/conf. Следует помнить, что изменения, произведённые в этом файле, вступают в силу только после перезапуска сервера.



Рисунок 3

Сервер Apache по умолчанию настроен на ISO-ную кодировку. Т.е. сервер будет считать, что все ваши файлы (html-странички, php-скрипты) написаны в этой кодировке. Чтобы изменить кодировку на кодировку Windows необходимо открыть http.conf на редактирование, найти строку

AddDefaultCharset ISO-8859-1

и заменить её на

AddDefaultCharset WINDOWS-1251

После этого, нам понадобится создать так называемый виртуальный хост — т.е. папку, после размещения в которой файлы с расширением .html и .php становятся доступными по адресу http:/localhost/index.html. Для этого следует выбрать папку, которой вы готовы для этого пожертвовать. Пусть это будет С:/usr/www.

Директивы виртуальных хостов

Директивы, ответственные за виртуальные хосты, обычно располагаются в конце конфигурационного файла httpd.conf и выглядят примерно следующим образом:

#NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Строку

# DocumentRoot /www/docs/dummy-host.example.com

заменить на

# DocumentRoot "C:/usr/www"

В конфигурационном файле httpd.conf необходимо заменить

DocumentRoot "C:/usr/local/Apache2/htdocs"

на

DocumentRoot "C:/usr/www"

Теперь создайте в "C:/usr/www" простейший скрипт index.html, разместив в нём любую фразу, например,

<html>
<head>
<title>
Вход в тестовую систему
</title>
</head>
</html>

и перезапустите сервер. Набрав в браузере http:/localhost/ вы увидите в окне браузера фразу, помещённую в index.html (рисунок 4). Если это получилось, то Web-сервер Apache работает.



Рисунок 4
Настройка PHP

Сервер Apache настроен — теперь можно приступать к настройке PHP. Для этого создайте директорию С:/usr/local/PHP и разархивируйте туда содержимое архива php-5.0.0-Win32.zip. После этого следует переименовать конфигурационный файл php.ini-dist в php.ini и скопировать его в директорию с С:/Windows.

Замечание
Изменения производимые в конфигурационном файле php.ini вступают в силу после перезагрузки сервера Apache.

Так как на локальной машине вы, скорее всего, будете заняты тестированием Ваших Web-приложений, то необходимо должным образом настроить конфигурационный файл php.ini. Найдите директиву error_reporting и установите для неё следующее значение:

error_reporting = E_ALL & ~E_NOTICE

Это значение настроит PHP таким образом, что при работе PHP-скриптов будут отображаться все ошибки, а "замечания" будут игнорироваться. Так же обходимо проследить, чтобы директива display_errors, была включена:

display_errors = On

Если данная директива отключена (Off), то сообщения об ошибках не будут выводится в окно браузера и в случае возникновения в коде ошибки вы будете гадать перед девственно белым окном — что бы это означало.
Так же необходимо проследить, чтобы директива variables_order имела следующее значение:

variables_order = "EGPCS"

Буквы здесь означают следующее:
E - переменными среды
G - переменными передаваемыми по методу GET (G)
P - переменными передаваемыми по методу POST (P)
C - Cookies
S - сессии

Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными.
Следующая директива, которая может потребовать настройки – это register_globals. Если данная директива включена

register_globals = On

то переменные, передаваемые метором GET, POST, через cookies и сессии можно использовать в PHP-скрипте, обращаясь к ним просто как обычным переменным $someone.
Если данная директива отключена

register_globals = Off
то к таким переменным можно будет обращаться только при помощи суперглобальных массивов ($_POST, $_GET и т.п.).
Директива register_long_arrays позволяет использовать суперглобальные массивы в старом формате ("длинном" - $HTTP_GET_VARS, $HTTP_POST_VARS и т.д.)

register_long_arrays = On

После того, как php.ini настроен Web-серверу Apache необходимо сообщить о наличии в системе PHP. Для этого в конфигурационном файле http.conf после строки

#AddType text/html .shtml

разместите следующие строки:

AddType application/x-httpd-php phtml php
<Directory "c:/usr/local/php">
options ExecCGI
</Directory>
ScriptAlias "/php_dir/" "c:/usr/local/php/"
Action application/x-httpd-php "/php_dir/php-cgi.exe"

Первая строка сообщает серверу Apache, о том, что файлы с расширениями php и phtml – должны интерпретироваться как PHP скрипты.
Следующие три строчки сообщают, что в директории c:/usr/local/php следует разрешить исполнение CGI скриптов.
Предпоследняя строчка создаёт, так называемые, алиасы (псевдоним) для директории c:/usr/local/php/.
В последней строке в качестве внешнего интерпретатора скриптов PHP назначается файл С:/php/php-cgi.exe (необходимо убедится что он, действительно, существует по этому пути).

Примечание
Чтобы избежать неожиданных проблем пути в настроечных файлах (httpd.conf и php.ini) рекомедуем писать через слеш в UNIX-овом формате "/".
Например, ScriptAlias "/php_dir/" "c:/usr/local/php/"
Вообще говоря, в ряде директив работают оба слеша – прямой(/) и обратный(). Но так как и Apache и PHP изначально разрабатывались под UNIX, то применяя их "родной" слеш, вы сможете избежать ряда проблем.

Теперь необходимо настроить индексный файл. Если в окне браузера набрать строку http://localhost/, а не http://localhost/index.html. Сервер всё равно предоставит браузеру index.html, так как этот файл является индексным и ищется в директории в первую очередь, если не указан конкретный файл. Теперь необходимо настроить httpd.conf, таким образом, чтобы Web-сервер Apache так же реагировал на файлы index.php, index.htm b др. Для этого найдите в httpd.conf директиву DirectoryIndex и исправьте её следующим образом:

DirectoryIndex index.html index.html.var index.htm index.php index.phtml index.shtml

После этого необходимо перегрузить сервер Apache, а в корневой директории виртуального хоста ("C:/usr/www") создать пробный файл PHP (index.php):
<?php
  phpinfo();
?>

В случае успешной настройки, обращение по адресу http://localhost/index.php отобразит фиолетовую таблицу с текущими настройками PHP, которая выдаётся функцией phpinfo(). (рисунок 5).



Рисунок 5

Таким образом, у нас настроена связка Apache и PHP и можно переходить к настройке MySQL. Распакуйте дистрибутив MySQL во временную директорию и запустите установщик. Контролировать работу сервера MySQL можно точно так же как и Apache, используя консоль управления сервисов Windows.

Подключение MySQL
По умолчанию PHP настроен таким образом, что поддержка MySQL в нём отключена, для того чтобы включить поддержку MySQL следует опять обратится к конфигурационному файлу php.ini. Найдите и раскомментируйте строку

extension=php_mysql.dll

При этом директива extension_dir должна указывать путь, в котором должна находится динамическая библиотека расширения. Например, вот так:

extension_dir ="c:/usr/local/PHP/ext"

Вы можете оставить эту директиву без изменений

extension_dir = "./"

но в этом случае необходимо скопировать библиотеку php_mysql.dll из директории C:/PHP/ext в С:/PHP/. Перезапустите сервер Apache и в файле "C:/usr/www/index.php" поместите следующий код:

<?php
  $dblocation = "127.0.0.1";
  $dbname = "test";
  $dbuser = "root";
  $dbpasswd = "";
  $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
  if (!$dbcnx)
  {
    echo "<p>К сожалению, не доступен сервер mySQL</p>";
    exit();
  }
  if (!@mysql_select_db($dbname,$dbcnx) )
  {
    echo "<p>К сожалению, не доступна база данных</p>";
    exit();
  }
  $ver = mysql_query("SELECT VERSION()");
  if(!$ver)
  {
    echo "<p>Ошибка в запросе</p>";
    exit();
  }
  echo mysql_result($ver, 0);
?>

В случае не подключения сервера mySQL, обращение по адресу http://localhost/index.php выведет в окно браузера сообщение «К сожалению, не доступен сервер mySQL».



Рисунок 6
Для успешной интеграции MySQL в связку Apache и PHP, необходимо запустить C:/usr/local/mysql/bin/winmysqladmin, перезапустить сервер и при обращении по адресу http://localhost/index.php выведет в окно браузера версию сервера MySQL (рисунок 7).



Рисунок 7

Примечание
Если вы хотите прописать путь к библиотеке - будьте внимательны: PHP плохо реагирует на прямые слеши в стиле Windows \, следует использовать обратные /. Например, extension_dir = "C:/php/ext".

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

extension=php_gd2.dll

Проверьте после этого наличие данной библиотеки в папке “C:/usr/local/PHP/ext”. После внесения изменений в php.ini перезапустите сервер. Что бы быстро проверить: подключилась ли библиотека — выполните функцию phpinfo(). Если все в порядке, то в таблице, которая отображается функций phpinfo(), должен появится раздел "gd". Скачать GDLib2
Некоторые расширения требуют дополнительных библиотек. Так для того чтобы воспользоваться расширением PHP "Mcrypt Encryption", позволяющем осуществлять симметричное шифрование необходимо, во-первых, раскомментирования строки в php.ini

extension=php_mcrypt.dll

А во вторых скопировать в папку С:/WINDOWS/ дополнительную библиотеку libmcrypt.dll



Если нужны картинки, могу закинуть их на хостинг
Post #: 10
RE: Нет коннекта mysql с php! - 2007-08-22 10:50:31.833333   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
quote:

ORIGINAL: Shah

Если нужны картинки, могу закинуть их на хостинг


Проще дать ссылку на эту статью:
http://www.softtime.ru/info/articlephp.php?id_article=24
Post #: 11
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Нет коннекта mysql с php!







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.