php扩展安装Api Version不匹配问题

大家安装PHP扩展一般步骤应该都是如下:

1、phpize

2、./configure --with-php-config=/usr/local/php/bin/php-config

3、make & make install

这样基本都是成了

然而这次我安装pdo_mysql的时候出现了版本不匹配的问题:

PHP Warning:  PHP Startup: pdo_mysql: Unable to initialize module
Module compiled with module API=20151012
PHP    compiled with module API=20160303

意思是PHP编译版本号是20160303,而pdo_mysql模块编译版本是20151012,不匹配。

原因也是比较清楚,前俩天刚把php从5.6升级到了7.1, 用的是直接覆盖原来php文件的形式,可能phpize还是旧版的

查看了下/usr/local/php/bin/phpize的确是20151012,然后重新编译还是这个问题...,翻了下之前的执行记录,原来我输入的是phpize,用的是/usr/bin/phpize已经是20160303版本

那不是phpize的问题,那就是后面那个php-config的问题了,应为总共就这么几句命令..

继续查看/usr/local/php/bin/php-config

MacBook-Pro:pdo_mysql xueshengguo$ /usr/local/php/bin/php-config
Usage: /usr/local/php/bin/php-config [OPTION]
Options:
  --prefix            [/usr/local/php]
  --includes          [-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]
  --ldflags           []
  --libs              [  -lresolv -liconv -liconv -lm  -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm ]
  --extension-dir     [/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012]
  --include-dir       [/usr/local/php/include/php]
  --man-dir           [/usr/local/php/php/man]
  --php-binary        [/usr/local/php/bin/php]
  --php-sapis         [ cli fpm phpdbg cgi]
  --configure-options [--prefix=/usr/local/php --enable-fastcgi --enable-fpm]
  --version           [7.0.2]
  --vernum            [70002]

这版本是7.0.2

然后又用find找到另一个/usr/bin/php-config

MacBook-Pro:pdo_mysql xueshengguo$ /usr/bin/php
php         php-cgi     php-config  phpdbg      phpize      phpunit
xueshengguodeMacBook-Pro:pdo_mysql xueshengguo$ /usr/bin/php-config
Usage: /usr/bin/php-config [OPTION]
Options:
  --prefix            [/usr]
  --includes          [-I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib]
  --ldflags           [ -L/usr/local/Cellar/openssl/1.0.2h//lib]
  --libs              [  -lresolv -liconv -liconv -lcrypto -lssl -lcrypto -lm  -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm ]
  --extension-dir     [/usr/lib/php/extensions/no-debug-non-zts-20160303]
  --include-dir       [/usr/include/php]
  --man-dir           [/usr/share/man]
  --php-binary        [/usr/bin/php]
  --php-sapis         [ cli phpdbg cgi]
  --configure-options [--prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --sysconfdir=/private/etc --with-libdir=lib --enable-cli --with-iconv=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.Internal.sdk/usr --with-config-file-path=/etc --with-config-file-scan-dir=/Library/Server/Web/Config/php --with-libxml-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.Internal.sdk/usr --with-openssl=/usr/local/Cellar/openssl/1.0.2h/]
  --version           [7.1.0]
  --vernum            [70100]
这个版本看来对牢,然后开始的命令就换成:

1、phpize

2、./configure --with-php-config=/usr/bin/php-config

3、make & make install


问题解决。

你可能感兴趣的:(PHP,Linux)