Войти

Показать полную графическую версию : связка apache2+php4+mysql


sad koder
16-08-2004, 20:41
стоит Mandrake 9.2 c ядром 2.4.22
Проблемма в следующем:эта связка вроде встает без проблем,но если использовать пхп как модуль апача,то он не видит функций mysql,т.е пишет что типа call to undifined function mysql_connect().
Но если юзать пхп как cgi,т.е с командной строки
то пхп видит функции mysql(!).В этом случае я компилю пхп так:./configure --with-apxs2=/path/to/apxs --with-mysql=/path/to/mysql
Но если собираю пхп с опцией --with-mysql(без указания пути) то вылетает ошибка типа:
make(1 error):In function z_mysql_connect():undefined reference to function mysql_connect(),mysql_drop_db() и т.д
Какие только разнообразные решения не выдавал гугл,все я не перепробовал,но одно мне показалось вразумительным:
надо пересобрать апач с опцией --enable-module=/path/to/module/mysql только вот какой именно модуль не говорится(что-то типа mysql.so).В общем пока у меня идей нет,если кто сталкивался с подобной ситуацией скажите плз как вы ее решили

ruslandh
17-08-2004, 09:25
По моему у вас в системе не хватает что-то типа :


libmysql++ - C++ API для MySQL
libmysql++-devel - C++ API для MySQL -- для разработчика
libmysqlclient10 - MySQL: Динамические библиотеки
php-mysql - MySQL database module for PHP4
libMySQL-devel - MySQL: Интерфейс прикладного уровня для разработки программ
libMySQL-devel-static - MySQL: Интерфейс прикладного уровня для разработки программ

sad koder
18-08-2004, 14:36
думаю дело не в этом - ведь я могу использовать с или perl для запросов в mysql,а пхп нет.
пхп использует модуль типа mysql.so ,который должен лежать в apache/modules, а у меня его нет!!
Если у вас есть такая связка то посмотрите есть ли у вас такой модуль.
Да и еще  - надо ли удалять файл config.cache перед перекомпиляцией?

Guest
20-08-2004, 01:30
ну вобщем-то(для дяди федора 2)
/etc/php.d/mysql.ini
extension=mysql.so
/etc/my.cnf
/etc/php.ini
/usr/lib/mysql
libmysqlclient.so
libmysqlclient_r.so

/usr/lib/php4/
mysql.so
/usr/share/mysql
/usr/share/pear
______________________________
by sergleo

sad koder
20-08-2004, 13:26
2Guest:
У меня не все из перечисленных файлов есть,в php.ini я уже расскоментировал extension=mysql.so(не помогло)
Нет /etc/php.d/mysql.ini * , /etc/my.cnf *,нет файла libmysqlclient_r.so
а также нет самого модуля mysql.so(!)
Помогите плз,очень срочно надо!

Да и еще:
В php.ini есть комментарий:
; ### MDK
; On Mandrake, we don't add the extensions in php.ini anymore, we put
; them in /etc/php/<number>_<name>.ini, for example 10_recode.ini.
;
; This is so that the RPMS can register themselves without having to
; modify the php.ini file.
Как это понимать?у меня мандрака.Или  не следует обращать внимание на это?

Исправлено: skystar, 13:32 20-08-2004

ruslandh
20-08-2004, 14:09
1 Что гадать - дайте команду

rpm -qa | grep mysql

и тогда можно смотреть, чего у вас не хватает.

2  mysql.so - входит в пакет php-mysql
3  libmysqlclient_r.so - в libmysqlclient

sad koder
20-08-2004, 15:17
Да теперь почти все есть - кроме my.cnf ,/usr/share/mysql,/usr/share/pear
Но как теперь этот модуль подключить?

sad koder
20-08-2004, 20:31
Все получилось.
Как в mysql разрешить коннекты со всех ip?

ruslandh
21-08-2004, 02:01
Как в mysql разрешить коннекты со всех ip?

А это нужно ? обычно php крутится на этом-же компьютере.

sad koder
21-08-2004, 12:47
Да в том смысле,что я даже с localhost не могу подсоединится!!!

Warning: mysql_connect(): Host 'localhost.localdomain' is not allowed to connect to this MySQL server in /var/www/html/script.php on line 9
Вот в чем проблемма!
То ли настройки сбились,я просто не знаю где разрешить коннекты,в гугле ничего не нахожу
А может это быть сбой в настройках php?Я могу коннектится к серверу через клиент mysql

ruslandh
21-08-2004, 18:14
skystar
Похоже, вам надо настраивать вашу клиентскую программу, которая работает с помощью php, а не mysql




© OSzone.net 2001-2012