0%

php安装redis扩展

装完了redis服务,用命令行模式可以简单的玩玩儿基本的命令,要想在项目中用到redis,还在安装一下redis扩展,特此记录!

  1. PECL

  2. 搜索redis

  3. 下载源码 wget http://pecl.php.net/get/redis-4.3.0.tgz

  4. sudo tar -zxvf redis-4.3.0.tgz

  5. cd redis-4.3.0

  6. sudo /usr/bin/phpize

  7. sudo ./configure –with-php-config=/usr/bin/php-config

    • grep: /usr/include/php/main/php.h: No such file or directory
    • grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
    • grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
  8. 苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录。

    • 重启Mac,按下 Command+R进入恢复模式,打开Terminal,输入csrutil disable以关闭Rootless,重启mac
    • ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include /usr/include
  9. sudo make && make install,结果可能报错:

    1
    2
    3
    Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20160303/
    cp: /usr/lib/php/extensions/no-debug-non-zts-20160303/#INST@2076#: Operation not permitted
    make: *** [install-modules] Error 1
  10. 手动复制 sudo cp redis.so /usr/lib/php/extensions/no-debug-non-zts-20160303/redis.so

  11. 待安装完成后再次开启Rootless csrutil enable,重启mac