URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 924
[ Назад ]

Исходное сообщение
"Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"

Отправлено Xray_Linux_Root , 03-Дек-02 04:58 
Система Linux Slackware 8.0, Apache 1.3.23+PHP4.0.1+MySQL3.22.39 (стандартная поставка Slackware 8.0) никак не свяжутся...
Apache работает нормально, в логах ругани нет, PHP скрипты обрабатываются (проверено), т.к. на <?phpinfo();?> ответ получаю, да и тестовый скриптик по созданию таблиц в MySQL обрабатывается, но неполностью. Вот этот тестовый скрипт:
<?
define("DBName","mysql");
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);

// Создаем таблицу t. Если такая таблица уже есть,
// сообщение об ошибке будет подавлено, т.к.
// используется "@"
@mysql_query("create table t(id int,a text)");

// Вставляем в таблицу 10 записей
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";
}
?>

При выполнении этого скрипта вылетает сообщение об ошибке:
Fatal error: Call to undefined function: mysql_connect() in /var/www/html/mysql.php on line 7

Вот эта строка: if(!mysql_connect(HostName,UserName,Password))
В MySQL разрешения в норме для хоста, юзера, база есть, т.к. команда: mysql -u root mysql проходит успешно, подключение осуществляется. В чём проблема понимаю расплывачато, т.к. ничего кроме этой ошибки не имею, да и получить данные скриптом PHP из базы не могу. Помогите решить....

ЗЫ: У кого связка Linux+Apache1.3.x+PHP4.x.x+MySQL3.22.xx работает нормально киньте пожалуйста файлики PHP.INI и HTTPD.CONF посмотреть....


Содержание

Сообщения в этом обсуждении
"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено amber46 , 03-Дек-02 05:12 
>Система Linux Slackware 8.0, Apache 1.3.23+PHP4.0.1+MySQL3.22.39 (стандартная поставка Slackware 8.0) никак не
>свяжутся...
>Apache работает нормально, в логах ругани нет, PHP скрипты обрабатываются (проверено), т.к. на <?phpinfo();?>

Ты уверен что собрал php  с mysql поддержкой?
Когда phpinfo выдает инфу что там написано про mysql?


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено Xray_Linux_Root , 03-Дек-02 05:25 
>>Система Linux Slackware 8.0, Apache 1.3.23+PHP4.0.1+MySQL3.22.39 (стандартная поставка Slackware 8.0) никак не
>>свяжутся...
>>Apache работает нормально, в логах ругани нет, PHP скрипты обрабатываются (проверено), т.к. на <?phpinfo();?>
>
>Ты уверен что собрал php  с mysql поддержкой?
>Когда phpinfo выдает инфу что там написано про mysql?

Если имелся ввиду этот флаг --with-mysql=shared,/usr , то да и ещё в догонку:

dbx
dbx support enabled
dbx version 1.0.0
supported databases MySQL, ODBC, PostgreSQL, Microsoft, SQL Server, FrontBase.

А вот, весь ответ по скрипту <?phpinfo();?>
ftp://tcti.org.tomsk.net/incoming/pas/linux/php/phpinfo.html
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ЗЫ: Это та же конфигурация, но уже на ASPLinux'е и пакеты поновее, но проблема таже.


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено amber46 , 03-Дек-02 06:14 
>>>Система Linux Slackware 8.0, Apache 1.3.23+PHP4.0.1+MySQL3.22.39 (стандартная поставка Slackware 8.0) никак не
>>>свяжутся...
>>>Apache работает нормально, в логах ругани нет, PHP скрипты обрабатываются (проверено), т.к. на <?phpinfo();?>
>>
>>Ты уверен что собрал php  с mysql поддержкой?
>>Когда phpinfo выдает инфу что там написано про mysql?
>
>Если имелся ввиду этот флаг --with-mysql=shared,/usr , то да и ещё в
>догонку:
>
>dbx
>dbx support enabled
>dbx version 1.0.0
>supported databases MySQL, ODBC, PostgreSQL, Microsoft, SQL Server, FrontBase.
>
>А вот, весь ответ по скрипту <?phpinfo();?>
>ftp://tcti.org.tomsk.net/incoming/pas/linux/php/phpinfo.html
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>ЗЫ: Это та же конфигурация, но уже на ASPLinux'е и пакеты поновее,
>но проблема таже.

не вижу я там подержки mysql
этот флаг --with-mysql= IMHO должен показывать базовый путь (у меня это /usr/local) за которым лежат бинарные модули от mysql - например BASE_DIR/lib/mysql BASE_DIR/include/mysql - в твоем случае может быть такое - если mysql проинсталлирован в /usr/local/mysql то это явялется его базовым.
Может я что и напутал но видится мне что копать надо в этом направлении...


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено Xray_Linux_Root , 03-Дек-02 07:09 
Я ещё скриптик один запускал, код уже не помню, и под руками нет, но он базу создаёт, а вносить в неё ничего не хочет. В /usr/doc/php4/INSTALL есть такая строка:
add line to php.ini
extension=libmysqlclient.so

но при добавлении этой строки в error_log апача вылетает ошибка: PHP Warning:  Invalid library (maybe not a PHP library) 'libmysqlclient.so'  in Unknown on line 0
Или эта строка уже из другой оперы????

Т.е. как я понимаю, либо моя сборка php не поддерживает MySQL либо не может авторизироваться в базе. Хотя на машине с Slackware 8.0 стандартный пакет PHP собран c ключом --with-mysql=/usr

Выход из данной ситуации: пересобрать PHP ????

ЗЫ: И всё же киньте ктонибудь файлики PHP.INI и HTTPD.CONF с машины где связка Linux+Apache+MySQL+PHP работают нормально.


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено amber46 , 03-Дек-02 07:20 
>Я ещё скриптик один запускал, код уже не помню, и под руками
>нет, но он базу создаёт, а вносить в неё ничего не
>хочет. В /usr/doc/php4/INSTALL есть такая строка:
>add line to php.ini
>extension=libmysqlclient.so

Extension - дополнительный (внешний) модуль... причем тут эта библиотека?

>но при добавлении этой строки в error_log апача вылетает ошибка: PHP Warning:
> Invalid library (maybe not a PHP library) 'libmysqlclient.so'  in
>Unknown on line 0
>Или эта строка уже из другой оперы????
>
>Т.е. как я понимаю, либо моя сборка php не поддерживает MySQL либо
>не может авторизироваться в базе. Хотя на машине с Slackware 8.0
>стандартный пакет PHP собран c ключом --with-mysql=/usr
Именно! Твоя сборка просто не предусмотрена для работы с mysql (IMHO)
в ней стоит модель для работы с PostgresSQL но нету Mysql  - это то что я вижу по твоему phpinfo

>Выход из данной ситуации: пересобрать PHP ????
Я думаю что ДА.

>ЗЫ: И всё же киньте ктонибудь файлики PHP.INI и HTTPD.CONF с машины
>где связка Linux+Apache+MySQL+PHP работают нормально.
php.ini - я вообще не трогаю... стоит as default
в HTTPD.conf вообще про mysql ничего не может быть.

ЗЫ: рекомендую все же проверить куда конкретно встал mysql и прописать его базовую директорию в ключь --with-mysql="" при пересборке PHP.


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено Xray_Linux_Root , 03-Дек-02 07:30 
ОК! Сегодня завтра попробую разобраться со сборкой PHP, результаты скорее всего будут выложены сюда.

;-)


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено Xray_Linux_Root , 04-Дек-02 04:34 
2 amber46
Огромное спасибо, два часа с половиной компиляции PHP.... для пробы с тремя ключами: ./configure --with-mysql --with-apxs=/usr/sbin/apxs --enable-versioning

Вот чего получилось: ftp://tcti.org.tomsk.net/incoming/pas/linux/php/new.html
И "всё" заработало, по крайней мере то что у меня было, а именно Forum phpBB2, PHPAdmin. А вот скрипт приведённый мной вначале так и не запахал, но я и не WebDesigner чтобы знать php(хотя хочется), я просто администратор сети + систем.


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено serge511 , 16-Июн-03 12:43 
я проблему решил проще, посмотрел файл php.ini и
явно поставил порт

mysql.default_port = 3306

и всё законектилось в базу mysql ;)))


"RE: Apache 1.3.23+PHP4.0.1+MySQL3.22.39 никак не свяжутся"
Отправлено Xray_Linux_Root , 16-Июн-03 13:25 
>я проблему решил проще, посмотрел файл php.ini и
>явно поставил порт
>
>mysql.default_port = 3306
>
>и всё законектилось в базу mysql ;)))

Ишь, какой умный..... если б  у тебя php было скомпилено без поддержки MySQL то тебе это не помогло бы.......