Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Мускул не подключается.
 
 автор: Roman   (12.06.2005 в 13:50)   письмо автору
 
 

С праздником : ) (за бортом 12 июня)

Раскомментировал строку extension=php_mysql.dll.


Оставил extension_dir = "./" скопировав php_mysql.dll из директории C:/PHP/ext в С:/PHP/.

libmysql.dll поместил в c:/WINDOWS/system32/


Поместил index.php с кодом для проверки работоспособности Мускула (пример скопировал с диска который прилагался к книге «php5 практика создания web – сайтов») в рабочую директорию но браузер выдал окно (см аттач.)

Библиотека php_mysql.dll из дистрибутива PHP

Обратные слеши, в указании пути , не использовал.

Прочитал все, по моему, сообщения на форуме по этому вопросу и обратил внимание, что моя библиотека (libmysql.dll ) весит чрезмерно – 1,01МБ !!! против 0,23 у некого «Романыча». Возможно, что проблема состоит в этом?

Подскажите пожалуйста: где я ошибся и?

С уважением, Роман.

   
 
 автор: Евгений Петров   (12.06.2005 в 14:01)   письмо автору
 
   для: Roman   (12.06.2005 в 13:50)
 

попробуй значение extension_dir = "./" поменять на полный путь к папке ext.

   
 
 автор: Евгений Петров   (12.06.2005 в 14:06)   письмо автору
 
   для: Roman   (12.06.2005 в 13:50)
 

И еще: откуда и зачем ты скопировал libmysql.dll в c:/WINDOWS/system32/

   
 
 автор: Whiteheart   (12.06.2005 в 14:18)   письмо автору
 
   для: Евгений Петров   (12.06.2005 в 14:06)
 

Все правильно надо копировать в system32 и у меня эта библиотека весит столько же 1.01 гднто

   
 
 автор: Roman   (12.06.2005 в 14:31)   письмо автору
 
   для: Whiteheart   (12.06.2005 в 14:18)
 

extension_dir = "./" поменял на полный путь к папке ext.

Что то не пойму… Посмотрите вложение… Это, вроде, не нормально…

С уважением, Роман.

P.S. Евгению Петрову: Евгений, совет: скопировать libmysql.dll в c:/WINDOWS/system32/ я нашел на этом форуме. Зачем? Хм... До этого я еще не дорос.

   
 
 автор: cheops   (12.06.2005 в 14:39)   письмо автору
 
   для: Roman   (12.06.2005 в 14:31)
 

А php.ini где лежит (В C:/Windows/?) и нет ли на машине ещё копий php.ini, которые могут экранировать тот, что вы исправляете?

   
 
 автор: Евгений Петров   (12.06.2005 в 14:40)   письмо автору
 
   для: Roman   (12.06.2005 в 14:31)
 

Выложите пожалуйста код того, что вам это выдало.

   
 
 автор: cheops   (12.06.2005 в 14:47)   письмо автору
 
   для: Евгений Петров   (12.06.2005 в 14:40)
 

В принципе это не имеет значение, так как чистый лист выдаётся тогда, когда не подцеплено расширение MySQL - достаточно написать одну функцию начинающуюся с префикса mysql_ и если библиотека php_mysql.dll не загружена, PHP вернёт пустую страницу.

   
 
 автор: Евгений Петров   (12.06.2005 в 14:53)   письмо автору
 
   для: cheops   (12.06.2005 в 14:47)
 

а если написать что то вроде
if(!mysql_connect())
{
  //php выведет чистый лист если не получится установить соединение
}

   
 
 автор: cheops   (12.06.2005 в 15:00)   письмо автору
 
   для: Евгений Петров   (12.06.2005 в 14:53)
 

Возможно... просто Roman пишет, что прочитал почти все темы форума, следовательно ориентировался скорее всего на проверочный скрипт из статьи http://www.softtime.ru/info/articlephp.php?id_article=24, я поэтому сразу и заподозрил отсутствие библиотеки расширения.

   
 
 автор: Евгений Петров   (12.06.2005 в 15:05)   письмо автору
 
   для: cheops   (12.06.2005 в 15:00)
 

Если бы отсутствовали библиотеки, то PHP вывел бы ошибки. Я так думаю.

   
 
 автор: cheops   (12.06.2005 в 15:12)   письмо автору
 
   для: Евгений Петров   (12.06.2005 в 15:05)
 

Обычно так и происходит, но на библиотеке расширения php_mysql.dll под Windows почему-то именно такой затык - PHP выдаёт чистый лист, если не подключено это расшение, хотя должен выдавать предупреждение о том, что функция неизвестна.

   
 
 автор: Roman   (13.06.2005 в 19:37)   письмо автору
 
   для: cheops   (12.06.2005 в 15:12)
 

Чертова работа... Долго не мог выйти в сеть. Вот пришел и сразу на форум. И так, все по порядку:

1)php.ini лежит в c:/php/ (см.атач)

2)Код приводить не буду т.к. (см. 3))

3)А сообщение, после замены кода на код предложенный Евгением, следующее

if(!mysql_connect()) { //php выведет чистый лист если не получится установить соединение }

Вот так...

С уважением, Роман.

   
 
 автор: cheops   (13.06.2005 в 19:53)   письмо автору
 
   для: Roman   (13.06.2005 в 19:37)
 

1) php.ini следует поместить в C:/Windows/

   
 
 автор: Roman   (13.06.2005 в 20:07)   письмо автору
 
   для: cheops   (13.06.2005 в 19:53)
 

То же самое:
if(!mysql_connect()) { //php выведет чистый лист если не получится установить соединение }
С уважением, Роман.

   
 
 автор: cheops   (13.06.2005 в 22:12)   письмо автору
 
   для: Roman   (13.06.2005 в 20:07)
 

Для проверки используйте скрипт из статьи http://www.softtime.ru/info/articlephp.php?id_article=24 или предложенный Евгением Петровым в теме http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4627 они что-нибудь выводят? Или вываливается PHP-код? Если вместо результата отображается PHP-код, тогда нужно предварительно настроить связку PHP+Apache.

   
 
 автор: Roman   (14.06.2005 в 20:35)   письмо автору
 
   для: cheops   (13.06.2005 в 22:12)
 

Поставил скрипт Евгения Петрова... Вот что появилось в браузере:

Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\doc\index.php on line 6. 

Что за неопределенная функция..? Я что то вообще запутался. У меня какого то компонента не хватает или что ???

С уважением, Роман.

   
 
 автор: cheops   (14.06.2005 в 22:59)   письмо автору
 
   для: Roman   (14.06.2005 в 20:35)
 

Это значит, что расширение для работы с MySQL не подцепилось. Выложите плиз свой php.ini, который расположен в C:/Windows. PHP установлен у вас модулем или внешним CGI-приложением?

   
 
 автор: Roman   (15.06.2005 в 20:27)   письмо автору
 
   для: cheops   (14.06.2005 в 22:59)
 

Стоп, стоп, стоп... Модулем или внешним приложением??? Можно подробней: где мне это сейчас найти... Я не знаю "КАКИМ" он у меня. Мне стыдно, но ничего не поделаешь...
Про php.ini: может какую то часть его? Он тут займет черт знает сколько экранов.
С уважением, Роман.

   
 
 автор: cheops   (15.06.2005 в 21:22)   письмо автору
 
   для: Roman   (15.06.2005 в 20:27)
 

>Стоп, стоп, стоп... Модулем или внешним приложением??? Можно
Как прописан PHP в конфигурационном файле Apache - httpd.conf?

   
 
 автор: Roman   (16.06.2005 в 20:25)   письмо автору
2.7 Кб
 
   для: cheops   (15.06.2005 в 21:22)
 

Подключен как CGI

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


На всякий случай, чтоб не дергать попусту, подключил РНР как модуль:

AddType application/x-httpd-php phtml php 
LoadModule php5_module c:/php/php5apache2.dll 


Результат, к сожалению, тот-же... (см. аттач)

С уважением, Роман.

   
 
 автор: cheops   (16.06.2005 в 20:30)   письмо автору
 
   для: Roman   (16.06.2005 в 20:25)
 

Это окошко уже хорошо, это значит, что PHP просто не может найти библиотеку php_mysql.dll. Скопируйте её в C:/PHP, а в конфигурационном файле php.ini пропишите директиву extension_dir в исходное состояние
extension_dir = "./"

   
 
 автор: Roman   (16.06.2005 в 20:46)   письмо автору
 
   для: cheops   (16.06.2005 в 20:30)
 

php_mysql.dll. в с:/рнр

рнр.ini исправлен:

extension_dir ="./"


Результат тот же.

С уважением, Роман.

   
 
 автор: cheops   (16.06.2005 в 20:53)   письмо автору
 
   для: Roman   (16.06.2005 в 20:46)
 

А да... преречитал всю тему - мы с этого и начинали :((( Нигде не увидил версий используемых вами PHP и MySQL, сообщите их, если не сложно?

PS Всё сносить и ставить по новой пробовали?

   
 
 автор: Roman   (16.06.2005 в 21:02)   письмо автору
 
   для: cheops   (16.06.2005 в 20:53)
 

Извиняюсь..:
apache_2.0.54-win32-x86-no_ssl
php-5.0.4-Win32.zip
mysql-essential-4.1.12a-win32.msi
Эх.., не хочется сносить.., выстрадано... Но если это помогает (читал.., причем часто) придеться. Просто хотел малой кровю отделаться...

С уважением, Роман.

   
 
 автор: cheops   (16.06.2005 в 21:13)   письмо автору
 
   для: Roman   (16.06.2005 в 21:02)
 

Зря кстати используете версию mysql-essential-4.1.12a-win32.msi в связке с PHP, мало того, что она урезанная (essential) вы ещё хлебнёте с ней горя, когда будете работать с русским текстом, сейчас лучше на линейку 4.0.24 или 4.0.25 ориентироваться. А вообще лучше грузить полную версию, несмотря на то, что она более чем в два раза тяжелее.

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3452

   
 
 автор: Roman   (16.06.2005 в 21:23)   письмо автору
 
   для: cheops   (16.06.2005 в 21:13)
 

Да.., Дал маху...
Хорошо, сегодня качну иной Мускул. Посмотрим что выйдет.
Я еще вернусь!

Огромное спасибо.

С уважением, Роман.

   
 
 автор: Roman   (22.06.2005 в 21:13)   письмо автору
 
   для: Roman   (16.06.2005 в 21:23)
 

Качнул mysql-4.0.24-win...
Установил.., все вроде О.К. Светофор горит, блин. Но когда в браузере набираю адрес где прописан код:

<?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($ver0); 
?> 


Браузер выводит пустое окно...
Хтмл и РНР запускаются на ура... Вот...
Подскажите: что не так?

С уважением, Роман.

   
 
 автор: DissDoc   (22.06.2005 в 21:32)   письмо автору
 
   для: Roman   (22.06.2005 в 21:13)
 

при написании скрипта

<?php
phpinfo
();
?>


Есть какое-нить упоминание о MySQL?

   
 
 автор: Евгений Петров   (22.06.2005 в 21:32)   письмо автору
 
   для: Roman   (22.06.2005 в 21:13)
 

Попробуйте следующий код.

<?
  define
("DBName","test");
  
define("HostName","localhost");
  
define("UserName","root");
  
define("Password","");  
  if(!
mysql_connect(HostName,UserName,Password))
  {
    echo 
"Не могу соединиться с базой данных ".DBName."!<br>";
    echo 
mysql_error();
    exit;
  }
  
mysql_select_db(DBName);
  @
mysql_query("create table t(id int,a text)");
  for(
$i=0;$i<10;$i++)
  {
    
$id=time();
    
mysql_query("insert into t(id,a) values($id,'Стр$i!')");
  }
  
$r=mysql_query("select * from t");
  for(
$i=0;$i<mysql_num_rows($r);$i++)
  {
    
$f=mysql_fetch_array($r);
    echo 
"$f[id] -> $f[a]<br>\n";
  }
?>

   
 
 автор: Roman   (22.06.2005 в 21:48)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 21:32)
 

На


<?php
phpinfo
();
?> 


Отвечает (см. аттач)
на скрипт Евгения выдает:

Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\doc\index.php on line 6

   
 
 автор: Евгений Петров   (23.06.2005 в 01:06)   письмо автору
 
   для: Roman   (22.06.2005 в 21:48)
 

То что светофор горит это хорошо, а он запущен как сервис? Откройте Панель Управления -> Администрирование -> Службы и посмотрите:
1) Установлена ли MySQL как служба?
2) Если да то запущена ли?
3) Если нет - запустите.

   
 
 автор: cheops   (23.06.2005 в 01:12)   письмо автору
 
   для: Roman   (22.06.2005 в 21:48)
 

Поищите таблицу mysql - она где-то посередине страницы должна быть (запустите поиск по странице) - имеется таблица?

   
 
 автор: Roman   (24.06.2005 в 20:26)   письмо автору
52.7 Кб
 
   для: cheops   (23.06.2005 в 01:12)
 

1) Таблицы mysql нет… Нечто похожее (что?) см. аттач.
2) Со «службой» - все О.К. (см. аттач)

С уважением, Роман.

   
 
 автор: Евгений Петров   (24.06.2005 в 20:56)   письмо автору
 
   для: Roman   (24.06.2005 в 20:26)
 

А как PHP подключен? Модулем или CGI? Я только что попытался восстановить вашу картину. У меня такие признаки проявляются если я удаляю файл libmysql.dll из system32 (PHP подключен модулем). Посмторите есть у фас этот файл в system32 или нет?

   
 
 автор: Roman   (24.06.2005 в 21:31)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 20:56)
 

libmysql.dll (1.1мб) в system 32.

подключен как модуль:
AddType application/x-httpd-php phtml php
LoadModule php5_module c:/php/php5apache2.dll 


Вот, GIF добавил (см.)

   
 
 автор: Евгений Петров   (24.06.2005 в 21:47)   письмо автору
 
   для: Roman   (24.06.2005 в 21:31)
 

Если не трудно, выложите конфиги Апача, PHP и Мускула.

   
 
 автор: Roman   (24.06.2005 в 21:51)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 21:47)
 

Если не удалять там комментарии это займет нескоько экранов. Комменты удалять, вся ночь уйдет.
Предложения?

   
 
 автор: Евгений Петров   (24.06.2005 в 21:54)   письмо автору
 
   для: Roman   (24.06.2005 в 21:51)
 

Pcfeyenm их в архив и выложить как файл. :)))

   
 
 автор: Roman   (24.06.2005 в 22:06)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 21:54)
 

Нда... :)))
Вот. httpd.conf последний.
По мускулу ничего не могу сказать (показать): я там ничего не правил . Поиск выдал кучу всего ... mysqlaccess.conf подойдет?

   
 
 автор: Евгений Петров   (24.06.2005 в 22:10)   письмо автору
 
   для: Roman   (24.06.2005 в 22:06)
 

Из C:\WINDOWS:
1) PHP.INI
2) My.INI
Из директории апача httpd.conf
Архивируем это все и прикрпляем к сообщению. :)

   
 
 автор: Roman   (24.06.2005 в 22:19)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 22:10)
 

my.ini не нахожу... Весь "поиск" смозолил... my.cnf такая же фигня.... Ау!

тороплюсь.... вот то что нужно

   
 
 автор: Евгений Петров   (24.06.2005 в 22:25)   письмо автору
351 байт
 
   для: Roman   (24.06.2005 в 22:19)
 

Зачем поиск он должен быть в папке windows. Если после исправления php.ini не заработает, то в папку windows скопируйте вот этот файл. И не забывайте перезапускать апач и мускул.

   
 
 автор: Евгений Петров   (24.06.2005 в 22:21)   письмо автору
 
   для: Roman   (24.06.2005 в 22:06)
 

В PHP.INI пропишите полный путь к папке ext
вместо

extencion_dir="./"


extencion_dir="D:\SERVER\php\ext"

Только ты не мой а свой путь укажи :)

   
 
 автор: Roman   (24.06.2005 в 22:37)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 22:21)
 

extension_dir ="c:\php\ext\"

результат:Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\doc\index.php on line 6

Апач перезагружал :)

   
 
 автор: Евгений Петров   (24.06.2005 в 22:43)   письмо автору
 
   для: Roman   (24.06.2005 в 22:37)
 

А my.ini копровал? Мускул перезагружал?

   
 
 автор: Roman   (24.06.2005 в 22:46)   письмо автору
 
   для: Roman   (24.06.2005 в 22:37)
 

Опа!!!
теперь я вижу в браузере вот это (код предложен вами):
1119638529 -> Стр0!
1119638529 -> Стр1!
1119638529 -> Стр2!
1119638529 -> Стр3!
1119638529 -> Стр4!
1119638529 -> Стр5!
1119638529 -> Стр6!
1119638529 -> Стр7!
1119638529 -> Стр8!
1119638529 -> Стр9!
Так должно быть?

   
 
 автор: Евгений Петров   (24.06.2005 в 22:50)   письмо автору
 
   для: Roman   (24.06.2005 в 22:46)
 

УРАААААААААА! Вот видишь все работает.

   
 
 автор: Roman   (24.06.2005 в 22:54)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 22:50)
 

Правил php.ini в рнр а не в windows!!!
Блин, ребята! И как у вас нервов хватает. Я б таких как я в газовые камеры отправлял бы наверное... с "Циклоном-б". Чтоб медленно и мучительно... Эх...
Куда там "Космосу" (мои нервы - как стальные канаты)...
Спасибо огромное!!!
Валю спать, завтра на работу.
Спокойной ночи!
С уважением, Роман.

   
 
 автор: Ving Grey   (01.07.2005 в 01:22)   письмо автору
 
   для: Roman   (24.06.2005 в 22:54)
 

так что Вы сделали, чтобы заработало?
у меня абсолютно аналогичная проблема!

   
 
 автор: cheops   (01.07.2005 в 01:27)   письмо автору
 
   для: Ving Grey   (01.07.2005 в 01:22)
 

Давайте новую тему заведём, а то эта слишком длинная и каждый раз её выгружать уже сложновато.

   
 
 автор: cheops   (24.06.2005 в 22:44)   письмо автору
 
   для: Roman   (24.06.2005 в 22:06)
 

А php.ini у вас точно в C:/Windows/ лежит?

   
 
 автор: Евгений Петров   (24.06.2005 в 21:54)   письмо автору
 
   для: Roman   (24.06.2005 в 21:51)
 

Засунуть их в архив и выложить как файл. :)))

   
 
 автор: Jina   (12.07.2005 в 12:37)   письмо автору
 
   для: Евгений Петров   (24.06.2005 в 21:54)
 

У меня та же проблема!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования