Debian 6.0:安装 mysqlnd_ms

Debian 6.0:安装 mysqlnd_ms

我正在尝试在我的新服务器(Debian 6.0 i386)上安装 mysqlnd_ms。

为此,我尝试了如下方法:

  1. 我安装php5-5.4.0-3php5-mysqlnd测试了 repo。
  2. mysqlnd_ms阅读此链接后:1,我尝试通过 pecl安装,因此我安装php5-devphp5-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:

  1. pecl download mysqlnd_ms
  2. 解压源代码后,phpize
  3. ./configure
  4. make test我因为缺少而出错ext/mysqlnd/*
  5. 我从 php-src 的链接获取这些文件:4
  6. make test再次出现新问题:

    error: ./php_mysqlnd_config.h: No such file or directory
    
  7. 我在 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

希望这对某人有帮助!

相关内容