本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

redis如此风头正劲的年代,php@7居然默认不支持redis,这个简直是不能理解。如今在这个php7的时代里面,redis扩展,还是需要再次编译才能使用。

苏南大叔:mac系统,php7如何编译redis扩展? - mac-redis-extension
mac系统,php7如何编译redis扩展?(图14-1)

本文的内容就是:在mac系统下,php7如何编译redis扩展。本文中涉及的php版本为7.1.7

苏南大叔:mac系统,php7如何编译redis扩展? - 003
mac系统,php7如何编译redis扩展?(图14-2)

下载源码并编译

redispecl源码下载地址是:

截至发稿时为止,redis扩展的最新版本是3.1.6

苏南大叔:mac系统,php7如何编译redis扩展? - 000
mac系统,php7如何编译redis扩展?(图14-3)

苏南大叔:mac系统,php7如何编译redis扩展? - 001
mac系统,php7如何编译redis扩展?(图14-4)

编译脚本

和其他的php扩展一样,编译redis扩展,也是非常类似的步骤。苏南大叔写给出标准答案如下,我们需要在下载到的redis扩展源码的目录下,执行如下命令。

phpize
./configure
make
sudo make install

苏南大叔:mac系统,php7如何编译redis扩展? - 007
mac系统,php7如何编译redis扩展?(图14-5)

苏南大叔:mac系统,php7如何编译redis扩展? - 008
mac系统,php7如何编译redis扩展?(图14-6)

苏南大叔:mac系统,php7如何编译redis扩展? - 009
mac系统,php7如何编译redis扩展?(图14-7)

苏南大叔:mac系统,php7如何编译redis扩展? - 010
mac系统,php7如何编译redis扩展?(图14-8)

php.ini中启用redis

在默认的/private/etc/php.ini位置,我们添加一条如下命令即可。其他的ini设置会加载默认的设置的,不必担心ini文件的权威性,仅在这个文件里面加载我们的定制信息即可。

extension=redis.so;

苏南大叔:mac系统,php7如何编译redis扩展? - 011
mac系统,php7如何编译redis扩展?(图14-9)

截图上的另外一句,有关phar的设置,来自于下面这篇文章。

用于检测redis扩展是否成功加载的办法是如下命令,有redis字样输出的话,即可证明加载成功。

php -m |grep redis

苏南大叔:mac系统,php7如何编译redis扩展? - 012
mac系统,php7如何编译redis扩展?(图14-10)

可能遇到的编译问题

在纯净的mac系统下,您可能会遇到下面的问题。执行phpize的时候,并不能得到正常的版本号信息。这种情况下,解决方案为:需要先通过app store下载xcode。当然,也许您的系统里面,已经自带xcode了。然后将xcode下面的库文件目录,做个软连接到系统目录下面,命令如下:

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ /usr

做好软连接后,就可以正常执行phpize命令了。

苏南大叔:mac系统,php7如何编译redis扩展? - 002
mac系统,php7如何编译redis扩展?(图14-11)

苏南大叔:mac系统,php7如何编译redis扩展? - 004
mac系统,php7如何编译redis扩展?(图14-12)

苏南大叔:mac系统,php7如何编译redis扩展? - 005
mac系统,php7如何编译redis扩展?(图14-13)

苏南大叔:mac系统,php7如何编译redis扩展? - 006
mac系统,php7如何编译redis扩展?(图14-14)

相关链接

总结

更多有关苏南大叔php扩展编译经验,请点击这里查看。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。