не могу заставить работать php с mysql

z100

Новичок
Есть linux lfs версии 7.0 Из исходников установлены СУБД mysql версии
mysqld Ver 5.5.17-log for Linux on i686 (Source distribution),
веб-сервер apache версии
httpd -v
Server version: Apache/2.4.9 (Unix)
Server built: Apr 8 2014 19:04:23
и php версии
php -v
PHP 5.5.11 (cli) (built: Apr 23 2014 23:04:28)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
СУБД работает отлично, завёл пользователя, базу, из mysql клиента подсоединяюсь под этим пользователем и захожу в базу, всё работает нормально.
Веб-сервер работает то же отлично.
Сам модуль php для apach-а работает то же нормально. Создал страничку - <?php echo phpinfo(); ?>
и вот что она выдала по поводу mysql:
MySQL driver for PDO George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter
MySQL Zeev Suraski, Zak Greant, Georg Richter, Andrey Hristov
MySQLi Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel
MySQLnd Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter

при этом по команде php -m модуля для работы с mysql вроде как нет:
php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
hash
iconv
json
libxml
mbstring
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

Папки в /usr/lob/php с модулями вообще нет.

Конфигурировал php вот с такими опциями:

./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--with-apxs2=/usr/bin/apxs \
--datadir=/usr/share/php \
--mandir=/usr/share/man \
--enable-dba \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--with-config-file-path=/etc \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--enable-exif \
--enable-ftp \
--with-openssl-dir=/usr \
--with-gd=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-freetype-dir=/usr \
--with-mysql-sock=/var/run/mysql \
--enable-sockets \
--enable-mbstring

Всё бы было ничего но вот пытаюсь открыть такую страничку:

<?php


// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "user"; // Имя пользователя
$dbpassword = "pas"; // Пароль
$dbname = "baza"; // Имя базы данных

// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);

// Выбираем нашу базу данных
mysql_select_db($dbname, $link);

// Создаём таблицу customer
// т.е. делаем sql запрос
$query = "create table customer (id int(2) primary key auto_increment, name varchar(100), tel varchar(20))";
mysql_query($query, $link);

// Закрываем соединение
mysql_close($link);


?>

и выдаёт мне: Удаленный сервер или файл не найден хотя просто html страницы или страничку вида: <?php echo phpinfo(); ?> открывает отлично.

Смотрю в логи mysql а там вообще нет признака что бы под пользователем заходили, вообще конекта нет. Хотя из mysql клиента захожу нормально.

Вопрос у меня php собран без поддержки mysql?

И ещё один вопрос.

Запускал СУБД mysql и apache в chroot с скинутыми в этот chroot библиотеками и модулем php, так же с библиотеками. Всё работает отлично, правда работу php с mysql не проверял. Судя по работе не в chroot работать не будет, но второй вопрос не в этом. Подскажите пожалуйста при такой работе в chroot php будет работать с библиотеками расположенными в chroot или будет использовать системные библиотеки? Если системные то как заставить php не вылазить из chroot и использовать библиотеки скинутые в chroot?

За помощь заранее благодарен!
 

hell0w0rd

Продвинутый новичок
расширение mysql устарело и не поддерживается. Попробуй подключиться через PDO, или mysqli.
Ну и скинь внятные логи ошибок, ничего не понятно
PS вот такое капитанство никто не любит
PHP:
$dbhost = "localhost"; // Хост
$dbuser = "user"; // Имя пользователя
$dbpassword = "pas"; // Пароль
$dbname = "baza"; // Имя базы данных
 

z100

Новичок
Вставил строку $link = mysql_connect($dbhost, $dbuser, $dbpassword) or die(mysql_error()); , в логаг mysql ничего, вообще ничего.
В логаг apache вот что:
10.0.0.2 - - [10/May/2014:18:23:01 +0300] "GET / HTTP/1.1" 500 - "-" "Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.15"
[Sat May 10 18:23:01.682433 2014] [:error] [pid 4415:tid 3013737328] [client 10.0.0.2:59200] PHP Fatal error: Call to undefined function mysql_connect() in /data/web/apache/www/sait4.ru/index.php on line 11

Похоже что старые функции для работы с mysql уже не используются.
Как мне проверить работу с базой? На какие функции заменить те что у меня написаны?
 

z100

Новичок
Я не знаю функций mysqli и PDO и программировать на php не умею. Просто хотел поставить форум vbulletin, а он мне выдал вот что:
Strict Standards: Non-static method vB_Shutdown::init() should not be called statically, assuming $this from incompatible context in /data/web/apache/www/sait3.ru/includes/class_core.php on line 2555

Strict Standards: Non-static method vBulletinHook::init() should not be called statically in /data/web/apache/www/sait3.ru/install/init.php on line 212

vBulletin 3.8.7 требуется доступ к функциям MySQL в PHP. Пожалуйста, попросите вашего хостера включить его.

Поэтому я и хотел проверить с php происходит конект к базе или нет.
 

fixxxer

К.О.
Партнер клуба
ВБулетин 3 - это довольно старая версия. Если уж ты зачем-то заморочился с linux lfs, думаю, собрать более старую версию php (скажем, 5.3), труда не составит.
 

z100

Новичок
собрать более старую версию php (скажем, 5.3), труда не составит.
Очень сложно было собрать php, очень много надо было библиотек. Сейчас наверное пересобрать версии 5.3. будет легче. но думаю в начале побороться с тем что есть.
 
Сверху