由于OSX自带的php是5.3.26,而我使用的XAMPP又是5.4.16. 安装时想当然的直接照着别人的方法去做。结果总是因为使用了错误的php配置编译phpredis,造成总是如下错误:
PHP Warning: PHP Startup: redis: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20100525 These options need to match in Unknown on line 0
算是典型性OSX上多PHP环境造成的问题,呵呵
开始我把/usr/bin下的php,phpize,php-config全部改为link指向XAMPP里对应的文件,但编译出来还是有问题。最后不得已,全部改成完整路径。算是解决了。
网上搜索如果不仔细看的话都是这样简单的做法:
phpize
./configure
sudo make
sudo make install
但实际上:
sudo /Applications/XAMPP/xamppfiles/bin/phpize
sudo MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS=”-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp” CCFLAGS=”-arch i386 -arch x86_64 -g -Os -pipe” CXXFLAGS=”-arch i386 -arch x86_64 -g -Os -pipe” LDFLAGS=”-arch i386 -arch x86_64 -bind_at_load” ./configure –with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs –with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
sudo make
sudo make install
最后修改php.ini文件,加入extension=redis.so
总结下来,OSX上的php环境绝对是一件让人蛋疼的事。几乎所有需要编译安装的php扩展(如memcached,mongodb)都需要这样做。否则都是那个经典的“not match”。
Comments are closed.