1

PHP 用の mysqlnd_ms パッケージをインストールしていますが、make コマンドでエラーが報告されました。

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

ERROR: `make' failed

私のPHPバージョン:

[root@uoo insFile]# php -v

PHP 5.6.12 (cli) (ビルド: 2015 年 8 月 30 日 00:04:44) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0、Copyright (c) 1998-2015 Zend Technologies

私のOS:

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

CentOS Linux リリース 7.2.1511 (コア)

インストールされているすべての 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 モジュールの API 番号: 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 を受け入れるかどうかを確認しています... はい

ISO C89を受け入れるためのccオプションをチェックしています...必要ありません

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: 警告: PHP パーサーを再生成するには、re2c 0.13.4 以降が必要です。

gawk をチェック中... gawk

mysqlnd_ms サポートを有効にするかどうかを確認しています... はい、共有

mysqlnd_ms でテーブル フィルターを有効にするかどうかを確認しています...いいえ

mysqlnd_ms で mysqlnd_qc を介してキャッシュを照会するかどうかを確認しています...いいえ

cc で使用される ld をチェックしています... /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 をチェックしています...はい

memory.h をチェックしています...はい

strings.h をチェックしています...はい

inttypes.h のチェック...はい

stdint.h をチェックしています...はい

unistd.hをチェックしています...はい

dlfcn.h のユーザビリティをチェックしています... はい

dlfcn.h の存在を確認しています...はい

dlfcn.h をチェックしています...はい

コマンドライン引数の最大長をチェックしています... 1572864

/usr/bin/nm -B cc オブジェクトからの出力を解析するコマンドをチェックしています... ok

objdir... .libs をチェックしています

ar... ar をチェックしています

ranlib をチェックしています... ranlib

ストリップをチェック中... ストリップ

cc が -fno-rtti -fno-exceptions をサポートしているかどうかを確認しています...いいえ

PIC を生成するための cc オプションをチェックしています... -fPIC

cc PICフラグ-fPICが機能するかどうかを確認しています...はい

cc static フラグ -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/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/include

-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 -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/include -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_mysqlnd_ms_get_last_used_connection':

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:293:2: 警告: 'zval_to_mysqlnd' の引数 2 を渡すと、キャストなしでポインターから整数が作成されます [デフォルトで有効]

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 ***」と入力</p>

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' への引数が少なすぎます</p>

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 からインクルードされたファイルで、

from /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: 警告: 'zval_to_mysqlnd' の引数 2 を渡すと、キャストなしでポインタから整数が作成されます [デフォルトで有効] 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' が予期されますが、引数はtype 'void ***'<br> 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' への引数が少なすぎます</p>

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: 警告: 'ms_ori mysqlnd_conn_methods->store_result' の引数 2 を渡すと、キャストなしでポインターから整数が作成されます [有効▽デフォルト] 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 ***' です</p >

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3: エラー: 関数 'ms_orig_mysqlnd_conn_methods->store_result' への引数が少なすぎます</p>

/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: 警告: 'zval_to_mysqlnd' の引数 2 を渡すと、キャストなしでポインターから整数が作成されます [デフォルトで有効] 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 ***」と入力</p>

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' への引数が少なすぎます</p>

if (!(proxy_conn = zval_to_mysqlnd(ハンドル TSRMLS_CC))) {

^

/tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 からインクルードされたファイルで、

from /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' が失敗しました

4

3 に答える 3

1

これを試して:

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でのみ試しました。これが他のバージョンで機能するかどうかはわかりません。

于 2016-06-01T10:47:10.663 に答える