在macOS Sierra 10.12搭建PHP开发环境(2)

将以下配置信息,写入 test.conf文件中:

server { listen 8099; server_name localhost; root /home/www/php_project; rewrite . /index.php; location / { index index.php index.html index.htm; autoindex on; } #proxy the php scripts to php-fpm location ~ \.php$ { include /usr/local/etc/nginx/fastcgi.conf; fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; } }

在上述的/home/www/php_project的目录下,我们创建一个 index.php文件:

cd /home/www/php_project vi test.php

写入内容:

<? php phpinfo();

重启 nginx:

sudo nginx -s stop sudo nginx

打开浏览器,访问localhost:8099。可以看到关于 PHP 配置的信息。

至此,MNMP(MacOS-nginx-MySQL-PHP)环境已经搭建完成。

安装 PHP 扩展

环境搭建完成后,你可能还需要安装一些 PHP 扩展,如 MemCache、Redis、Mongo、Solr 等。

在安装 PHP 扩展之前,你需要完成一些必要的操作

关闭 SIP

这是安装 PHP 扩展前的必要操作。如果跳过这一操作,即使你用 sudo 命令安装扩展,依旧会报 Operation not permitted 的错误。这是因为 OSX 10.11 El Capitan(或更高)新添加了一个新的安全机制叫系统完整性保护 System Integrity Protection (SIP),所以对于以下目录:

/System

/sbin

/usr 不包含(/usr/local/)

仅仅供系统使用,其它用户或者程序无法直接使用,而我们的 /usr/lib/php/extensions/ 则刚好在受保护范围内(误伤世界上最好的语言)。

所以解决方法就是禁掉 SIP 保护机制,步骤是:

重启系统

按住 Command + R(重新亮屏之后就开始按,象征地按几秒再松开,直到出现苹果标志性的 Logo)

菜单“实用工具” ==>> “终端” ==>> 输入:csrutil disable。执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect

重启系统

当然,PHP 扩展安装完成后,就可以重新打开 SIP,方法同上,命令改为:csrutil enable。

安装一些必要的依赖包

安装 autoconf,PHP动态编译 phpize 时需要:

brew install autoconf

安装 openssl,安装某些 php 扩展如 mongo 时需要。

brew install openssl

mongo 扩展安装是可能会报 openssl 错误,解决方法如下:

ln -s /usr/local/Cellar/openssl/1.0.2j/include/openssl /usr/include/openssl 正式安装扩展

这里有两种方法安装 php 扩展:

通过 pecl 管理工具安装

通过源码包安装

通过 pecl 管理工具安装

首先安装 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,回车,输入/usr/local/pear

输入 4,回车,输入/usr/local/bin

回车

安装好 pecl 之后,我们就可以愉快地安装 PHP 扩展了:

sudo pecl install solr sudo pecl install memcache sudo pecl install mongo 通过源码包安装

除了通过 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。查看扩展是否安装成功。

PHP 7 ,你值得拥有   

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/17195c020473c2ce76ecc3a6ca88a418.html