Система 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 посмотреть....
>Система Linux Slackware 8.0, Apache 1.3.23+PHP4.0.1+MySQL3.22.39 (стандартная поставка Slackware 8.0) никак не
>свяжутся...
>Apache работает нормально, в логах ругани нет, PHP скрипты обрабатываются (проверено), т.к. на <?phpinfo();?>Ты уверен что собрал php с mysql поддержкой?
Когда phpinfo выдает инфу что там написано про mysql?
>>Система 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'е и пакеты поновее, но проблема таже.
>>>Система 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 то это явялется его базовым.
Может я что и напутал но видится мне что копать надо в этом направлении...
Я ещё скриптик один запускал, код уже не помню, и под руками нет, но он базу создаёт, а вносить в неё ничего не хочет. В /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 работают нормально.
>Я ещё скриптик один запускал, код уже не помню, и под руками
>нет, но он базу создаёт, а вносить в неё ничего не
>хочет. В /usr/doc/php4/INSTALL есть такая строка:
>add line to php.ini
>extension=libmysqlclient.soExtension - дополнительный (внешний) модуль... причем тут эта библиотека?
>но при добавлении этой строки в 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.
ОК! Сегодня завтра попробую разобраться со сборкой PHP, результаты скорее всего будут выложены сюда.;-)
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(хотя хочется), я просто администратор сети + систем.
я проблему решил проще, посмотрел файл php.ini и
явно поставил портmysql.default_port = 3306
и всё законектилось в базу mysql ;)))
>я проблему решил проще, посмотрел файл php.ini и
>явно поставил порт
>
>mysql.default_port = 3306
>
>и всё законектилось в базу mysql ;)))Ишь, какой умный..... если б у тебя php было скомпилено без поддержки MySQL то тебе это не помогло бы.......