Страница 1 из 2

debian и apache + php + mysql

Добавлено: 14 мар 2006, 13:15
Anonymous
Нужно что бы заработали вместе, но не хочет... Наблюдается следующая картина
Установил apache + php + mysql через dselect. Настроил конфиги и получил следующее:
при попытке подсоедениться функцией mysql_pconnect() к базе данных Fatal error: Call to undefined function: mysql_pconnect() in ...
при этом php_info() выдает
Configure Command '../configure'
.............'--enable-dbx'
'--without-mm' '--without-mysql' '--without-sybase-ct' это я понял. Собрано без поддержки mysql

Вопросы. Можно ли все это запустить без пересборки php? Зачем тогда нужен пакет php4-mysql ( в котором валяется mysql.so)? И есть ли готовый php c поддержкой mysql? Стоит ли при установке PHP и mysql в Debian пользоваться .deb пакетами, либо лучше пересобирать с нуля?

Добавлено: 14 мар 2006, 13:29
Llama
ну так поставь php4-mysql ;)

Добавлено: 14 мар 2006, 14:00
Anonymous
Llama писал(а):ну так поставь php4-mysql ;)
вроде бы все уже поставлено. Кроме этих файлов там ничего нет
/usr/lib/php4/20020429/mysql.so
/usr/share/lintian/overrides/php4-mysql
/usr/share/doc/php4-mysql

в php.ini прописал
extension_dir = "./:/usr/lib/php4/20020429/"
extension=mysql.so

Этого достаточно что бы заработало?

Добавлено: 14 мар 2006, 14:14
Llama
ну AFAIK да... README.debian в /usr/share/doc/ для этих пакетов читали?

Добавлено: 14 мар 2006, 17:04
Speccyfan
А в логи апач при запуске ничем не ругается ?

Добавлено: 14 мар 2006, 19:14
Anonymous
так и есть апач ругнулся на Unknown(): Unable to load dynamic library './:/usr/lib/php4/20020429/mysql.so' - ./:/usr/lib/php4/20020429/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
Изменил путь на такой extension_dir = "/usr/lib/php4/20020429/" апач перестал ругаться.

Перечитал readme.debian Не помогло. Потому как не понятно, как это все связано между собой. По идее я установил libapache2-mod-php4
Нужно ли было при этом ставить php4-cgi?

Добавлено: 15 мар 2006, 10:20
Anonymous
Заработало. Судя по всему именно из-за некоректного пути в extentions. Всем спасибо за идеи и советы.

Добавлено: 01 апр 2006, 18:48
Pilot
hi all
в первый раз поставил такую же связку, на slackware, и столкнулся с проблемой. апач с пхп работают. MySQL запускаю стартовым скриптом /etc/rc.d/rc.mysqld start, ничего не ругается, но и в процессах не появляется. если выполнить /usr/bin/mysql то говорит Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)

гуглил на эту тему, там говорится, что должна по дефолту стразу подниматься...

Добавлено: 01 апр 2006, 20:10
Llama
так разбирайся, почему не запускается mysqld, что делает этот стартовый скрипт и чего ему нехватает.

Добавлено: 01 апр 2006, 21:03
Pilot
посмотрел лог
060401 20:05:07 mysqld started
060401 20:05:07 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
060401 20:05:07 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 43634.
InnoDB: Doing recovery: scanned up to log sequence number 0 43634
060401 20:05:07 InnoDB: Flushing modified pages from the buffer pool...
060401 20:05:07 InnoDB: Started; log sequence number 0 43634
060401 20:05:07 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
060401 20:05:07 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
060401 20:05:07 [ERROR] Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
060401 20:05:07 mysqld ended

host.frm лежит в /var/lib/mysql/mysql
как ей это объяснить?

Добавлено: 01 апр 2006, 21:29
Llama
Pilot, cd var/lib/mysql/ либо поправить скрипт ;)

Добавлено: 01 апр 2006, 21:49
Pilot
поправил, теперь так
060401 20:45:36 mysqld started
060401 20:45:36 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
060401 20:45:36 mysqld ended

Добавлено: 01 апр 2006, 22:22
Pilot
почти уговорил,

060401 21:23:57 mysqld started
060401 21:23:57 [ERROR] Can't start server : Bind on unix socket: Permission denied
060401 21:23:57 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysql/mysql.sock ?
060401 21:23:57 [ERROR] Aborting

060401 21:23:57 [Note] /usr/libexec/mysqld: Shutdown complete

060401 21:23:57 mysqld ended

от пользователя запускал, отрута ругается,
060401 21:15:31 mysqld started
060401 21:15:31 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

060401 21:15:31 [ERROR] Aborting

060401 21:15:31 [Note] /usr/libexec/mysqld: Shutdown complete

060401 21:15:31 mysqld ended

Добавлено: 04 апр 2006, 17:11
Mr. Anderson
тебе ж написано
Please read "Security" section of the manual to find out how to run mysqld as root!
читал мануал? что пишут? весьма небезопасно пускать демонов от рута

Добавлено: 06 апр 2006, 00:06
Pilot
под рутом это потом попробовал запустить..
Вообщем завёл, но дальше не разбирался, куда там БД ложить...