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, которая у вас есть в настоящее время. Я упоминаю эту деталь, так как она была опубликована несколько лет назад.
Я просто следовал инструкциям из пакетов CentOS и расширения php pecl-svn, установленного без проблем на сервере Redhat 6.9 PHP 5.6. Надеюсь, то же самое работает для вас.