PHP: установить mysqlnd_ms не удалось: make: *** [php_mysqlnd_ms.lo] ошибка 1

Я устанавливаю пакет mysqlnd_ms для php, но команда make сообщила об ошибке:

make: *** [php_mysqlnd_ms.lo] Error 1

ERROR: `make' failed

моя версия PHP:

[root @ uoo insFile] # php -v

PHP 5.6.12 (cli) (сборка: 30 августа 2015 г. 00:04:44) Copyright (c) 1997-2015 PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

моя ОС:

[root @ uoo ~] # cat / etc / centos-release

CentOS Linux выпуск 7.2.1511 (Core)

весь php модуль, который был установлен:

[root@uoo insFile]# php -m 
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
ereg
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

[Zend Modules]

вот мой процесс установки с pecl:

[root @ uoo insFile] # pecl install mysqlnd_ms

загрузка mysqlnd_ms-1.5.2.tgz ...

Начало загрузки mysqlnd_ms-1.5.2.tgz (385 916 байт)

.............................................................................. сделано: 385 916 байт

36 исходных файлов, сборка

работает: phpize

Конфигурирование для:

PHP Api версия: 20131106

Zend Module Api No: 20131226

Расширение Zend Api №: 220131226

построение в /tmp/pear/temp/pear-build-rootvgIJMs/mysqlnd_ms-1.5.2

работает: / tmp / pear / temp / mysqlnd_ms / configure

проверка на grep, который обрабатывает длинные строки и -e... /usr/bin/grep

проверка на egrep... /usr/bin/grep -E

проверка на sed, который не усекает вывод... /usr/bin/sed

проверка на cc... cc

проверка работоспособности компилятора C... да

проверка имени выходного файла компилятора C по умолчанию... a.out

проверка суффикса исполняемых файлов...

проверяем, кросс-компилируем ли мы... нет

проверка суффикса объектных файлов... o

проверяем, используем ли мы компилятор GNU C... да

проверка, принимает ли cc -g... да

проверка опции cc для принятия ISO C89... не требуется

проверка, как запустить препроцессор C... cc -E

проверка на icc... нет

проверка на suncc... нет

проверка, понимает ли cc -c и -o вместе... да

проверка директории системной библиотеки... lib

проверка, поддерживает ли компилятор -R... нет

проверка, поддерживает ли компилятор -Wl, -rpath,... да

проверка типа системы сборки... x86_64-unknown-linux-gnu

проверка типа хост-системы... x86_64-unknown-linux-gnu

проверка типа целевой системы... x86_64-unknown-linux-gnu

проверка префикса PHP... / usr / local / php

проверка на PHP включает... -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib

проверка каталога расширений PHP... /usr/local/php/lib/php/extensions/no-debug-zts-20131226

проверка установленного префикса заголовков PHP... / usr / local / php / include / php

проверка, включена ли отладка... нет

проверка, включен ли zts... нет

проверка на re2c... нет

configure: ПРЕДУПРЕЖДЕНИЕ: вам потребуется re2c 0.13.4 или более поздняя версия, если вы хотите перегенерировать парсеры PHP.

проверка на gawk... gawk

проверка включения поддержки mysqlnd_ms... да, поделился

проверка включения фильтра таблицы в mysqlnd_ms... нет

проверка, запрашивать ли кэширование через mysqlnd_qc в mysqlnd_ms... нет

проверка на ld, используемый cc... /usr/bin/ld

проверка, является ли компоновщик (/usr/bin/ld) GNU ld... да

проверка опции /usr/bin/ld для перезагрузки объектных файлов... -r

проверка BSD-совместимого nm... /usr/bin/nm -B

проверка работоспособности ln -s... да

проверка, как распознать зависимые библиотеки... pass_all

проверка на наличие заголовочных файлов ANSI C... да

проверка на sys / types.h... да

проверка на sys / stat.h... да

проверка на stdlib.h... да

проверка на string.h... да

проверка на память.ч... да

проверка на strings.h... да

проверка на inttypes.h... да

проверка на stdint.h... да

проверка на unistd.h... да

проверка юзабилити dlfcn.h... да

проверка наличия dlfcn.h... да

проверка на dlfcn.h... да

проверка максимальной длины аргументов командной строки... 1572864

проверка команды для анализа /usr/bin/nm -B вывода из объекта cc... ок

проверка на предмет objdir....libs

проверка на ар... ар

проверка ранлиб... ранлиб

проверка на полосу... полоса

проверка, поддерживает ли cc -fno-rtti -fno-excptions... нет

проверка опции cc для получения PIC... -fPIC

проверка, работает ли флаг cc PIC -fPIC... да

проверка, работает ли cc static flag -static... нет

проверка, поддерживает ли cc -c -o file.o... да

проверка, поддерживает ли компоновщик cc (/usr/bin/ld -m elf_x86_64) разделяемые библиотеки... да

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

проверка характеристик динамического компоновщика... GNU/Linux ld.so

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

проверка возможности удаления библиотек... да

проверка, поддерживает ли libtool разделяемые библиотеки... да

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

проверять, строить ли статические библиотеки... нет

создание libtool

добавление тега конфигурации "CXX" в libtool

настроить: создание./config.status

config.status: создание config.h

работает: сделать

/ bin / sh /tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/libtool --mode = compile cc

-Я. -I / tmp / pear / temp / mysqlnd_ms -DPHP_ATOM_INC

-I / TMP / груша / TEMP / грушевидной наращивание rootr7CW9Q / mysqlnd_ms-1.5.2 / включить

-I / TMP / груша / температуры / грушевидной сборки-rootr7CW9Q / mysqlnd_ms-1.5.2 / Основной

-I / tmp / pear / temp / mysqlnd_ms -I / usr / local / php / include / php

-I / usr / local / php / include / php / main -I / usr / local / php / include / php / TSRM

-I / usr / local / php / include / php / Zend -I / usr / local / php / include / php / ext

-I / usr / local / php / include / php / ext / date / lib -DHAVE_CONFIG_H -g -O2

-c /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c -o php_mysqlnd_ms.lo

mkdir.libs

CC -I. -I / tmp / pear / temp / mysqlnd_ms -DPHP_ATOM_INC
-I / tmp / pear / temp / pear-build-rootr7CW9Q / mysqlnd_ms-1.5.2 / включает -I/tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/main -I/tmp/pear/temp/mysqlnd_ms -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c -fPIC -DPIC -o .libs/php_mysqlnd_ms.o /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c: в функции 'zif_mysql_____f_

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:293:2: предупреждение: передача аргумента 2 для zval_to_mysqlnd делает целое число из указателя без приведения [включено по умолчанию]

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ В файле, включенном в /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0,

из /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34: /usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18: примечание: ожидается "unsigned int", но аргумент введите 'void ***'

PHPAPI MYSQLND * zval_to_mysqlnd (zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:293:2: ошибка: слишком мало аргументов для функции 'zval_to_mysqlnd'

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ В файле, включенном в /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0,

из /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34: /usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18: примечание: объявлено здесь

PHPAPI MYSQLND * zval_to_mysqlnd (zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c: в функции 'zif_mysqlnd_ms_get_last_gtid':

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:333:2: предупреждение: передача аргумента 2 из zval_to_mysqlnd делает целое число из указателя без приведения [включено по умолчанию], если (! (proxy_conn = zval_to_mysqlnd (дескриптор TSRMLS_CC)) {^ В файле, включенном в /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0,

из /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34: /usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18: примечание: ожидается "unsigned int", но аргумент введите 'void ***'
PHPAPI MYSQLND * zval_to_mysqlnd (zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:333:2: ошибка: слишком мало аргументов для функции 'zval_to_mysqlnd'

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ В файле, включенном в /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0,

из /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:

/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18: примечание: объявлено здесь

PHPAPI MYSQLND * zval_to_mysqlnd (zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3: предупреждение: передача аргумента 2 из ms_ori mysqlnd_conn_methods->store_result 'делает целое число из указателя без приведения [по умолчанию enabled включен] if (!(res = MS_CALL_ORIGINAL_CONN_DATA_METHOD(store_result)(conn TSRMLS_CC))) { ^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3: примечание: ожидается "unsigned int", но аргумент имеет тип "void ***"

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3: ошибка: слишком мало аргументов для функции 'ms_orig_mysqlnd_conn_methods->store_result'

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c: в функции 'zif_mysqlnd_ms_set_qos':

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:506:2: предупреждение: передача аргумента 2 для zval_to_mysqlnd делает целое число из указателя без приведения [включено по умолчанию], если (! (proxy_conn = zval_to_mysqlnd (дескриптор TSRMLS_CC)) {

^

В файл включен из /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0,

из /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34: /usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18: примечание: ожидается "unsigned int", но аргумент введите 'void ***'

PHPAPI MYSQLND * zval_to_mysqlnd (zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:506:2: ошибка: слишком мало аргументов для функции 'zval_to_mysqlnd'

if (! (proxy_conn = zval_to_mysqlnd (дескриптор TSRMLS_CC))) {

^

В файл включен из /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0,

из /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34: /usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18: примечание: объявлено здесь

PHPAPI MYSQLND * zval_to_mysqlnd (zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^

make: *** [php_mysqlnd_ms.lo] Ошибка 1

ОШИБКА: ошибка make

2 ответа

Попробуй это:

svn checkout http://svn.php.net/repository/pecl/mysqlnd_ms/trunk/ && cd trunk && phpize && ./configure --with-php-config=/usr/bin/php-config && make

затем беги make install

затем перезагрузите ваш apache.

Я только попробовал это на php5.6. Я не уверен, работает ли это на другой версии.

Я часами искал в гугле, наконец, решение Кларка сработало на cpanel, немного подправив

Для cpanel я изменил команду на:

svn checkout http://svn.php.net/repository/pecl/mysqlnd_ms/trunk/ && cd trunk && /opt/cpanel/ea-php56/root/usr/bin/phpize && ./configure --with-php-config=/opt/cpanel/ea-php56/root/usr/bin/php-config && make; make install

Вам также необходимо создать и добавить имя расширения в/opt/cpanel/ea-php56/root/usr/lib64/php/modules/:

cd /opt/cpanel/ea-php56/root/usr/lib64/php/modules/
cat >> mysqlnd_ms.ini << EOF
extension=mysqlnd_ms.so
EOF

Вы можете увидеть результат с php -m,

Я смог успешно установить его с помощью пакета RPM. Ссылки ниже могут помочь вам, в зависимости от ОС и версии PHP, которая у вас есть в настоящее время. Я упоминаю эту деталь, так как она была опубликована несколько лет назад.

www.rpmfind.net

https://centos.pkgs.org/

Я просто следовал инструкциям из пакетов CentOS и расширения php pecl-svn, установленного без проблем на сервере Redhat 6.9 PHP 5.6. Надеюсь, то же самое работает для вас.

Другие вопросы по тегам