Mysql

手動從 php 連接 mysql 而不使用 yum 命令

  • January 9, 2012

我正在嘗試從 php 連接到 mysql,它說我沒有配置 mysql-php,呼叫未定義的函式:mysql_connect();。我的伺服器沒有在 RHN 上註冊,因此我不能 yum 安裝 php-mysql。如何在沒有 yum 安裝的情況下配置 php-mysql 連接。謝謝。

貓 /etc/*-release

Red Hat Enterprise Linux Server release 5 (Tikanga)

rpm -qa |grep php |grep mysql

php-mysql-5.1.6-5.el5

rpm -qa | grep -i php

php-common-5.1.6-5.el5
php-5.1.6-5.el5
php-cli-5.1.6-5.el5
php-devel-5.1.6-5.el5
php-pdo-5.1.6-5.el5
php-mysql-5.1.6-5.el5

netstat -vat | grep sql

tcp        0      0 *:mysql                     *:*                         LISTEN  

phpinfo()

系統: Linux us-master.idyabroo.com 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:29:35 EST 2007 x86_64

配置命令

'./configure' '--build=x86_64-redhat-linux' '--host=x86_64-redhat-linux' '--
target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-  
 prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--
datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--
libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--
mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' 
'--    with-
libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '-    -
disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' 
'--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-
native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-
dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-
pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-
magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' 
'--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos'
'--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-
shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-
magic=/etc/httpd/conf/magic' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--
with-apxs2=/usr/sbin/apxs' **'--without-mysql' '--without-gd' '--without-odbc'** '--disable-dom'
'--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-
xmlwriter'

’–without-mysql’ ‘–without-gd’ ‘–without-odbc’

如何**–with-mysql**

如果啟用了動態載入支持,則無需重新編譯。

你已經安裝了 php-mysql rpm - 所以要麼它沒有正確配置你的 php.ini,要麼它有尚未安裝的依賴項(這是一個棘手的場景創建)。

執行 rpm –verify php-mysql 將在安裝中執行一些基本檢查。

rpm -q -l 將列出 rpm 中的文件:

[symcbean@example ~]$ rpm -q -l php-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib/php/modules/mysql.so
/usr/lib/php/modules/mysqli.so
/usr/lib/php/modules/pdo_mysql.so

檢查這些文件是否存在並且您的網路伺服器 uid 可以讀取 (rpm -q -l php-mysql | xargs ls -l)。

檢查 php 模組的位置是否與您的 php.ini 中的 extension_dir 匹配,這也應該啟用 dl。注意使用 phpinfo() 來找出你的 php.ini 所在的位置。

EPEL 服務向 RHEL 提供第三方附加組件,而不是 RH 提供的軟體包。但是您可以下載單獨的 rpm(如果您有來自access.redhat.com的目前 RHEL 訂閱)。如果您沒有訂閱(因此您不必擔心 RH 支持),Centos rpms 應該是二進制兼容的(請參閱依賴項鍊接)。還有其他人提供 RH 兼容的 rpm(嘗試rpm 搜尋

引用自:https://serverfault.com/questions/348058