大家安装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