OSX下安装phpredis

由于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.