![PHP 5.4.9 Mysqli 问题](https://linux22.com/image/797477/PHP%205.4.9%20Mysqli%20%E9%97%AE%E9%A2%98.png)
在 Ubuntu 12.04 服务器上,我从源代码安装了 PHP 5.4.9:
./configure --prefix=/etc/php --with-apxs2=/etc/apache2/bin/apxs --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php/conf.d --with-libxml-dir=/usr/local/libxml2 --with-xsl=/usr/local/libxslt --with-mysql --with-zlib --with-pdo-mysql --enable-calendar --with-gd --with-iconv-dir --enable-mbstring --enable-soap --enable-sockets --enable-zip --with-curl --with-openssl --with-kerberos --with-tidy'
然后,使用 apt-get,我安装了 mysql 服务器和 phpMyAdmin。不幸的是,phpMyAdmin 一直说“mysqli”和“mcrypt”未安装。php -m | grep mysqli只是证实了这一点。
因此,我尝试使用“apt-get install php5-mysqli”安装 mysqli,但只收到通过“php5-mysqlnd”或“php5-mysql”执行此操作的消息。尽管它们已经安装(根据 phpinfo()),但我尝试了 - 不起作用。但是,在 php.ini 中,有 mysqli 人员,如“extension=php_mysqli.dll”,但没有“extension=mysqli.so”。并且还存在一些未注释设置的块 [MySQLi]。
因为这是我第一次尝试从源代码构建 php,我想我犯了一些愚蠢的错误。任何帮助都将不胜感激。
UPD:问题已解决 1. 启用 mcrypt 扩展(http://sourceforge.net/projects/mcrypt/files/) 1.1 下载、解压、配置、编译和安装库姆加密图书馆
获得http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz tar xf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure make && make install
1.2 下载、解压、配置(我添加了所需路径:----prefix=/usr/local/mcrypt)、编译并安装加密
获得http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz tar xf lmcrypt-2.6.8.tar.gz cd lmcrypt-2.6.8 ./configure --prefix=/usr/local/mcrypt make && make install
2.安装mysqli我遵循了配置php的建议选项http://php.net/manual/en/mysqli.installation.php
./configure --with-mysql=/usr/bin/mysql_config \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd [其他选项]
因此,在 /usr/local/mcrypt 中安装 Libmcrypt、mcrypt 并更改 php 配置后,我终于成功了。最终配置如下所示:
./configure --prefix=/etc/php --with-apxs2=/etc/apache2/bin/apxs --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php/conf.d --with-libxml-dir=/usr/local/libxml2 --with-xsl=/usr/local/libxslt --with-mysql --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mcrypt=/usr/local/mcrypt --with-zlib --enable-calendar --with-gd --with-iconv-dir --enable-mbstring --enable-soap --enable-sockets --enable-zip --with-curl --with-openssl --with-kerberos --with-tidy --with-pcre-regex
PS:请注意,要运行此程序,您需要下载、配置、编译和安装 libxml、libxslt、prce、mcrypt、Libmcrypt
答案1
如果您需要具有 mcrypt 和 mysql 支持的 PHP,--with-mcrypt --with-mysqli 选项在哪里?