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

Форум Apache

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

 

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

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

тема: PHP не видит MySQL
 
 автор: Sub-Zero   (13.01.2007 в 20:08)   письмо автору
 
 

Здравствуйте.

См. тему, ничего сделать пока не получается. Конфиги все вроде настроил, так как сказано в книге и здесь на сайте, а именно:


php
extension_dir = "./"
extension=php_mysql.dll
php_mysql.dll в корневой папке (c:\Program Files\PHP5\)
libmysql.dll в папке system32

Апач встал вроде хорошо, с ним никаких проблем.

Приведенный скрипт в статье http://www.softtime.ru/info/articlephp.php?id_article=24 не работает:

<?php 
  $dblocation 
"127.0.0.1"
  
$dbname "test"
  
$dbuser "root"
  
$dbpasswd "root"

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

Браузер просто показывает белый экран и все. Функция phpinfo(); отрабатывает нормально.

В чем все-таки проблема?

   
 
 автор: ddhvvn   (13.01.2007 в 20:20)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Уберите '@' из скрипта, и посмотрите, какие выводятся ошибки.

   
 
 автор: Sub-Zero   (13.01.2007 в 20:33)   письмо автору
 
   для: ddhvvn   (13.01.2007 в 20:20)
 

Убрал здесь:

$dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd); 

Тогда:
Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mysql_test.php on line 7

   
 
 автор: Sergey89   (13.01.2007 в 20:36)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:33)
 

extension_dir = "./"

попробуйте абсолютный путь указать

   
 
 автор: Sub-Zero   (13.01.2007 в 20:46)   письмо автору
 
   для: Sergey89   (13.01.2007 в 20:36)
 

Не помогло. Все тоже самое.

   
 
 автор: NIK   (13.01.2007 в 20:54)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:46)
 

в PHP5 все расширения лежат в папке ext. И путь мне думается нужно указывать абсолютный без вариантов. Возможно проблема со слешами. Слеши нужно ставить обратные. Для примера:


extension_dir = "C:\Program Files\#HTTP\PHP\ext"

   
 
 автор: Sub-Zero   (13.01.2007 в 21:12)   письмо автору
 
   для: NIK   (13.01.2007 в 20:54)
 

Делал по всякому:

extension_dir = "c:\Program Files\PHP5\ext"
extension_dir = "c:/Program Files/PHP5/ext"
extension_dir = "c:\Program Files\PHP5"
extension_dir = "c:/Program Files/PHP5"
extension_dir = "./"

не помогает. Может службы надо перезапускать каждый раз?

Забыл сказать, что через MySQL Administrator в базу заходить могу.

   
 
 автор: Sub-Zero   (13.01.2007 в 21:31)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Apache/2.2.3 (Win32) PHP/5.2.0
MySQL 5.0

   
 
 автор: Sergey89   (13.01.2007 в 21:32)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 21:31)
 

phpinfo() что говорит от mysql?
libmySQL от той версии MySQL, что и установлена?

   
 
 автор: Sub-Zero   (13.01.2007 в 21:47)   письмо автору
 
   для: Sergey89   (13.01.2007 в 21:32)
 

1. Ничего не говорит. По крайней мере не нашел.
2. Да. После инсталяции я эти файлы не трогал. При инсталяции ведь старые файлы заменяются новыми? (есть небольшая вероятность, что по этому пути был установлен старый mysql)

   
 
 автор: Sergey89   (13.01.2007 в 21:50)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 21:47)
 

Дак а вы переложили новый libmySQL.dll в system32?

   
 
 автор: Sub-Zero   (13.01.2007 в 22:01)   письмо автору
 
   для: Sergey89   (13.01.2007 в 21:50)
 

А это разве не из папки php нужно было делать?...
Хорошо сейчас попробую из MySQL...

Попробовал результат тот же - никакой.

   
 
 автор: Sergey89   (13.01.2007 в 22:23)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 22:01)
 

>> А это разве не из папки php нужно было делать?...
Нет. Надо из mysql\lib\opt. Apache при запуске не ругается о том, что не найти php_mysql.dll?

   
 
 автор: Sub-Zero   (13.01.2007 в 22:46)   письмо автору
 
   для: Sergey89   (13.01.2007 в 22:23)
 

Сделал - 0.
Нет, не ругается.

   
 
 автор: Sub-Zero   (13.01.2007 в 22:13)   письмо автору
 
   для: Sergey89   (13.01.2007 в 21:50)
 

Перезагрузил компьютер.
Не помогло.

   
 
 автор: NIK   (13.01.2007 в 22:29)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 22:13)
 

1) когда что-то меняешь в конфигах нужно перезапускать Apache
2) а ты точно тот php.ini правишь? нужен тот, что написан в phpinfo();
3) попробуй запустить апач файлом Apache.exe (в корне) и посмотри что он пишет

А вообще если ты прописывал extension_dir = "c:\Program Files\PHP5\ext" и не делал рестарта апча - попробуй ещё раз

   
 
 автор: Sub-Zero   (13.01.2007 в 22:43)   письмо автору
 
   для: NIK   (13.01.2007 в 22:29)
 

1. В последнее время так и делаю
2. Да.
3. У меня нет такого файла (не было в дистрибутиве)

Сделал все пять вариантов, которые описаны выше с перезапуском еще раз - 0.

   
 
 автор: mindless   (13.01.2007 в 22:31)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 22:13)
 

вообще лучше разметить php - в корне диска С:

выполни

<?
echo phpinfo();
?>


посмотри Configuration File (php.ini) Path - этот файл и служит конфигом.
там либо : c:\WINDOWS\php.ini либо c:\php\php.ini
в php.ini - физически прописывай путь к папке ext - c:/php/ext
в разделе Dynamic Extensions файла php.ini - убери ; перед ;extension=php_mysql.dll
скопируй libmysql.dll тот что в папке с php - в system32
перезапусти апачь

   
 
 автор: mindless   (13.01.2007 в 22:45)   письмо автору
 
   для: mindless   (13.01.2007 в 22:31)
 

-

   
 
 автор: Sub-Zero   (13.01.2007 в 22:48)   письмо автору
 
   для: mindless   (13.01.2007 в 22:45)
 

Apache.exe

Сейчас попробую разместить php на с:

   
 
 автор: mindless   (13.01.2007 в 22:53)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 22:48)
 

незабудь в httpd.conf файла конфигурации апача произвести измения с путями

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

   
 
 автор: Sub-Zero   (13.01.2007 в 23:07)   письмо автору
 
   для: mindless   (13.01.2007 в 22:53)
 

Все сделал. Но все равно не помогло...

   
 
 автор: mindless   (13.01.2007 в 23:09)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 23:07)
 

звучит фантастически...
значит так:
снеси апачь пхп и мускл - удили все оставшиеся папки - поставь заново
выполни все что здеся насано

   
 
 автор: Sub-Zero   (13.01.2007 в 23:08)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Народ, может еще что-то забыто?...

Ерунда какая-то...

   
 
 автор: mindless   (13.01.2007 в 23:12)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 23:08)
 

скажи что выводит phpinfo()
в путях
Configuration File (php.ini) Path
и
extension_dir

   
 
 автор: Sub-Zero   (13.01.2007 в 23:22)   письмо автору
 
   для: mindless   (13.01.2007 в 23:12)
 

C:\PHP5\php.ini

Вот мои конфиги и тот файл, что я запускаю кому интересно...
Архив zip...

   
 
 автор: Sergey89   (13.01.2007 в 23:27)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 23:22)
 

Ты php.ini в папку WINDOWS точно кидаешь?

   
 
 автор: Sub-Zero   (13.01.2007 в 23:30)   письмо автору
 
   для: Sergey89   (13.01.2007 в 23:27)
 

Нет, не кидаю есть же директива:

PHPIniDir "c:/PHP5"

и путь этот отображается в phpinfo

   
 
 автор: Sergey89   (13.01.2007 в 23:18)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 23:08)
 

Тут вся проблема в том, что PHP просто напросто не подключает эту библиотеку. При этом если бы она была бы не найдена Apache ругнулся бы перед запуском. Логично, что ты просто не подключаешь её в php.ini =) Попробуй сделать любое изменение в файле php.ini и посмотреть появятся ли они в результатах phpinfo().

   
 
 автор: mindless   (13.01.2007 в 23:26)   письмо автору
 
   для: Sergey89   (13.01.2007 в 23:18)
 

что пишет
phpinfo()
в extension_dir

   
 
 автор: Sub-Zero   (13.01.2007 в 23:27)   письмо автору
 
   для: Sergey89   (13.01.2007 в 23:18)
 

Ну, пути недавно поменял. phpinfo поменялось

   
 
 автор: mindless   (13.01.2007 в 23:29)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 23:27)
 

так што он шас пишет при этом раскладе что шас есть
я посмотрел твои файлы
там все нормально

   
 
 автор: Sergey89   (13.01.2007 в 23:32)   письмо автору
 
   для: mindless   (13.01.2007 в 23:29)
 

скинь результат phpinfo()

   
 
 автор: mindless   (13.01.2007 в 23:33)   письмо автору
 
   для: mindless   (13.01.2007 в 23:29)
 

так что насчет пути ext

   
 
 автор: Sub-Zero   (13.01.2007 в 23:40)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Уфф...
Ладно, сейчас отдохну немного и потом начну все переустанавливать...

   
 
 автор: Alph[p]a   (13.01.2007 в 23:45)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 23:40)
 

Давно пора))

   
 
 автор: glsv (Дизайнер)   (14.01.2007 в 07:13)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Для подключения расширения MySQL используйте статью по ссылке.

http://www.softtime.ru/info/apache.php?id_article=98

   
 
 автор: ЛенаSPB   (14.01.2007 в 17:26)   письмо автору
 
   для: glsv (Дизайнер)   (14.01.2007 в 07:13)
 

У меня такая же проблема
выдаётся ошибка PHP Fatal error: Call to undefined function mysql_connect()

сделала всё, что написано

одно но: у меня не Apache, а IIS

В чём ещё может быть проблема?!?!?! =(

   
 
 автор: Sub-Zero   (14.01.2007 в 22:05)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Так и не видит MySQL...

Наверняка ошибка в какой-нибудь мелочи как всегда, но ее пока не удалось обнаружить.

   
 
 автор: Alph[p]a   (14.01.2007 в 22:31)   письмо автору
 
   для: Sub-Zero   (14.01.2007 в 22:05)
 

Ну уж если ничего не помогает то может лучше поставить denwer?

   
 
 автор: Sub-Zero   (15.01.2007 в 06:18)   письмо автору
 
   для: Alph[p]a   (14.01.2007 в 22:31)
 

Теперь уже охота найти ошибку чисто из принципа.

   
 
 автор: Alph[p]a   (15.01.2007 в 10:55)   письмо автору
 
   для: Sub-Zero   (15.01.2007 в 06:18)
 

Была вроде такая же проблема и у меня..я усердно в течении дня пытался слепить одно целое из Apache 2 / php 4.2 и MYSQL 5 ничего не получилось поставил Mysql4 всё сразу заработало бес всякого кидания библиотек по папкам)

   
 
 автор: Sub-Zero   (15.01.2007 в 12:29)   письмо автору
 
   для: Sub-Zero   (13.01.2007 в 20:08)
 

Yesss-yes-yessssss! :)))

В общем, народ не знаю как вам, но мне не удалось использовать MySQL вместе с PHP Version 5.2.0

Поставил PHP Version 5.1.6 и все заработало.

   
Rambler's Top100
вверх

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