我正在尝试在我的新服务器(Debian 6.0 i386)上安装 mysqlnd_ms。
为此,我尝试了如下方法:
- 我安装
php5-5.4.0-3
并php5-mysqlnd
测试了 repo。 mysqlnd_ms
阅读此链接后:1,我尝试通过 pecl安装,因此我安装php5-dev
了php5-pear
之后我尝试pecl install mysqlnd_ms
并得到了这个:
downloading mysqlnd_ms-1.2.2.tgz ...
Starting to download mysqlnd_ms-1.2.2.tgz (337,534 bytes)
.............................done: 337,534 bytes
ERROR: bad md5sum for file /tmp/pear/temp/mysqlnd_ms/package.xml
这与此错误报告链接:2 是同一个问题。
因此我决定自己完成这项工作并遵循与 pecl 相同的流程(下载、编译、安装)链接:3:
pecl download mysqlnd_ms
- 解压源代码后,
phpize
./configure
make test
我因为缺少而出错ext/mysqlnd/*
- 我从 php-src 的链接获取这些文件:4
make test
再次出现新问题:error: ./php_mysqlnd_config.h: No such file or directory
我在 Intraweb 上找到了 link:5 和 link:6。所以我尝试了一下
./configure --enable-mysqlnd
。之后得到这个:configure: WARNING: unrecognized options: --enable-mysqlnd
我尝试
./configure -h
:Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-mysqlnd-ms Enable mysqlnd_ms support --enable-mysqlnd-ms-table-filter Enable support for table filter in mysqlnd_ms (EXPERIMENTAL - do not use!) --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds)
没有这样的参数来配置构建。我现在被困住了。
有没有办法mysqlnd_ms
在 Debian 上安装PHP5-5.4.0-3
?或者使用以前版本的 PHP?如果是以前版本的 PHP,我如何获取此版本和所有链接组件?
感谢您的帮助。
所有链接均在此处(由于 serverfault 垃圾邮件预防限制):要旨
答案1
我遇到了同样的问题 - 结果发现这里有两个问题......
1. 文件 /tmp/pear/temp/mysqlnd_ms/package.xml 的 md5sum 错误
错误:文件 /tmp/pear/temp/mysqlnd_ms/package.xml 的 md5sum 错误
正如所描述的那样,pecl 包中有一个 package.xml 列出了 tar 中所有文件的 md5 值。我通过下载 pecl 包并用正确的值替换 package.xml md5(在文件本身上使用 md5sum package.xml)解决了这个问题。步骤:
sudo pecl download mysqlnd_ms
然后解压 tar,在 package.xml 上运行以下命令(位于 zip 文件的根目录中,而不是包含其他所有内容的文件夹)
md5sum package.xml
并更新 package.xml 的内容(对我来说是第 458 行)以便读取正确的 md5,对我来说它是:
<file md5sum="f0051920d77ae99ba5a3fe6c3bcaa402" name="package.xml" role="src" />
再次重新打包,你会看到安装运行取得了进一步的进展。
sudo pecl install mysqlnd_ms-1.3.2.tar
但并非全部,这让我想到了你我都面临的下一个问题......
2. 错误:./php_mysqlnd_config.h:没有此文件或目录
我使用的是默认 apt-get repos 中的标准 Ubuntu 12.04 PHP 5.3,它没有附带开箱即用的 mysql 本机驱动程序支持,请参阅http://php.net/manual/en/mysqli.installation.php。
因此我删除了当前的 PHP 安装,下载了 PHP 源代码并使用所有重要的配置标志 --enable-pdo --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd 进行了编译/安装
我的默认安装缺少很多依赖项来获取我想要的一切,其中一些可能对您来说并不重要,但这是我的完整包依赖项安装和配置命令:
sudo apt-get install libxml2-dev libbz2-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev libxpm-dev libfreetype6-dev libt1-dev libmcrypt-dev libmhash-dev libxslt1-dev
./configure --enable-fpm --enable-soap --enable-calendar --enable-ftp --enable-libxml --enable-mbstring --enable-sockets --enable-zend-multibyte --enable-zip --with-zlib --with-mcrypt --enable-pdo --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-gd
make test
make install
现在运行安装对我来说一切正常:
sudo pecl install mysqlnd_ms-1.3.2.tar
希望这对某人有帮助!