环境搭建完成后,你可能还需要安装一些 PHP 扩展,如 MemCache、Redis、Mongo、Solr 等。 在安装 PHP 扩展之前,你需要完成一些必要的操作。
这是安装 PHP 扩展前的必要操作。如果跳过这一操作,即使你用 sudo 命令安装扩展,依旧会报 Operation not permitted 的错误。这是因为 OSX 10.11 El Capitan(或更高)新添加了一个新的安全机制叫系统完整性保护 System Integrity Protection(SIP),所以对于以下目录:
仅仅供系统使用,其它用户或者程序无法直接使用,而我们的 /usr/lib/php/extensions/ 则刚好在受保护范围内(误伤世界上最好的语言)。 所以解决方法就是禁掉 SIP 保护机制,步骤是:
当然,PHP 扩展安装完成后,就可以重新打开 SIP,方法同上,命令改为:csrutil enable。
安装 autoconf,PHP动态编译 phpize 时需要:
- brew install autoconf
-
安装 openssl,安装某些 php 扩展如 mongo 时需要。
- brew install openssl
-
ongo 扩展安装是可能会报 openssl 错误,解决方法如下:
- ln -s /usr/local/Cellar/openssl/1.0.2j/include/openssl /usr/include/openssl
-
这里有两种方法安装 php 扩展:
首先安装 pecl:
- cd /usr/lib/php
- sudo php install-pear-nozlib.phar
-
pecl 一般就会安装成功,如果失败,换另一种方式安装 pecl:
- curl -O http://pear.php.net/go-pear.phar
- sudo php -d detect_unicode=0 go-pear.phar
-
1.输入 1,回车,输入/usr/local/pear
2.输入 4,回车,输入/usr/local/bin
3.回车
安装好 pecl 之后,我们就可以愉快地安装 PHP 扩展了:
- sudo pecl install solr
- sudo pecl install memcache
- sudo pecl install mongodb
-
除了通过 pecl 安装,我们还可以通过下载源码包来进行安装扩展:
- wget http://pecl.php.net/get/redis-2.2.8.tgz
- tar -zxvf redis-2.2.8.tgz
- cd redis-2.2.8
- phpize
- ./configure
- make
- sudo make install
-
扩展安装完成后,我们还需最后一步,修改php.ini文件,并重启 PHP-FPM:
- cd /private/etc/
- cp php.ini.default php.ini
- vi php.ini
-
追加扩展信息:
- extension=memcache.so
- extension=mongo.so
- extension=redis.so
- extension=solr.so
-
重启 PHP-FPM:
- ps aux|grep php-fpm
- sudo kill php-fpm min pid # 杀死 php-fpm 最小的进程id
- sudo php-fpm
-
打开浏览器,访问 localhost:8099。查看扩展是否安装成功。