Назад | Перейти на главную страницу

Debian 6.0: установить mysqlnd_ms

Я пытаюсь установить mysqlnd_ms на свой новый сервер (Debian 6.0 i386).

Для этого я пробовал следующее:

  1. Я устанавливаю php5-5.4.0-3 и php5-mysqlnd путем тестирования репо.
  2. Прочитав эту ссылку: 1, пытаюсь установить mysqlnd_ms по 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:

  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. Я нашел ссылку: 5 и ссылку: 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, как я могу получить эту версию и все связанные компоненты?

Спасибо за помощь.

Все ссылки здесь (из-за ограничения предотвращения спама при сбое сервера): суть

У меня были такие же проблемы - оказалось, здесь было две проблемы ...

1. неверная md5sum для файла /tmp/pear/temp/mysqlnd_ms/package.xml

ОШИБКА: неверная md5sum для файла /tmp/pear/temp/mysqlnd_ms/package.xml

Это было, как описано, оказывается, что в пакетах pecl есть package.xml, в котором перечислены значения md5 всех файлов в tar. Я решил эту проблему, загрузив пакет 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: нет такого файла или каталога

Я использовал стандартный Ubuntu 12.04 PHP 5.3 из репозиториев apt-get по умолчанию, в котором нет встроенной поддержки драйвера 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

Надеюсь, это кому-то поможет!