无需 yum 命令即可手动从 php 连接 mysql

无需 yum 命令即可手动从 php 连接 mysql

我尝试从 php 连接到 mysql,它说我尚未配置 mysql-php,调用未定义的函数:mysql_connect();。我的服务器未在 RHN 注册,因此我无法 yum install php-mysql。如何在没有 yum install 的情况下配置 php-mysql 连接。谢谢。

猫/等/ * -释放

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 星期五 1 月 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'

'--不带-mysql' '--不带-gd' '--不带-odbc'

如何--with-mysql

答案1

如果您启用了动态加载支持,则无需重新编译。

您已经安装了 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

检查这些文件是否存在且可被您的 Web 服务器 uid 读取(rpm -q -l php-mysql | xargs ls -l)。

检查 php 模块的位置是否与 php.ini 中的 extension_dir 匹配,后者还应启用 dl。NB 使用 phpinfo() 来找出 php.ini 的位置。

EPEL 服务为 RHEL 提供第三方附加组件,而不是 RH 提供的软件包。但你可以从 RHEL 下载单独的 rpm(如果你有当前的 RHEL 订阅)access.redhat.com)。如果您没有订阅(因此您不关心 RH 支持),Centos rpms 应该二进制兼容(请参阅依赖项链接)。还有其他人提供与 RH 兼容的 rpm(尝试rpm 搜索

答案2

您应该考虑为您的 RedHat 版本安装 EPEL 存储库。这比从源代码编译软件更容易维护。

看 :https://fedoraproject.org/wiki/EPEL

相关内容