Mac安装PHP运行环境


  • 先安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • nginx的安装与配置
brew install nginx

修改配置文件

sudo vim /usr/local/etc/nginx/nginx.conf
#修改默认的8080端口为80

给予管理员权限

sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod u+s/usr/local/opt/nginx/bin/nginx

加入launchctl启动控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist~/Library/LaunchAgents/launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

运行nginx

sudo nginx #打开 nginx
nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx
nginx -t #测试配置是否有语法错误

测试配置nginx的时候,开启nginx有错误。如图:

这导致我在切换URL的时候获取不到后台的数据,还一直报错404.

我的解决方案:

sudo nginx -c /usr/local/etc/nginx/nginx.conf

然后重启一下:sudo nginx -s reload  就可以了

常用的nginx命令:
nginx -t  开启nginx服务

sudo nginx  查看nginx状态

vi /usr/local/etc/nginx/nginx.conf  打开nginx.conf配置文件

sudo lsof -i:80  查看nginx进程 
  • mysql的安装与配置

安装mysql

brew install mysql
cd /usr/local/opt/mysql/

修改配置文件

sudo vim my.cnf
#如果出现无法启动mysql,rm my.cnf

加入launchctl启动控制

mkdir -p ~/Library/LaunchAgents/
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#取消启动
#launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

初始化 mysql

./bin/mysql_install_db
#实在运行不了就跳过这一步

执行安全设置脚本,设置root账号密码

./bin/mysql_secure_installation

命令行连接mysql

mysql -uroot -p
  • php的安装与配置

1.安装php7

brew install php70 --without-apache --with-fpm
#因为我们用nginx,所有--without-apache,并且加上--with-fpm来编译php

2.安装完成后,加入全局变量

vim ~/.bash_profile 添加上:export PATH=/usr/local/bin:/usr/sbin:$PATH
然后 vim ~/.bashrc 添加上:export PATH = "$(brew --prefix homebrew/php/php70)/bin:$PATH"
最后执行 source ~/.bash_profile source ~/.bashrc

3.然后加入开机自启

mkdir -p ~/Library/LaunchAgents cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

4.安装php扩展

其实很简单,比如你想安装php7的xdebug扩展,就brew install php70-xdebug,想安装mcrypt就 brew install php70-mcrypt
如果想按5.6的就 brew install php56-xxxx,是不so easy,另外你可以 brew search php70,可以看到所有php7的扩展库,同理也可以查php56的

5.配置 Nginx 支持 PHP-FPM

sudo vim /usr/local/etc/nginx/nginx.conf

# 添加默认首页 index.php
index index.php index.html index.htm;

# 取消以下内容的注释,并做修改
location ~ \.php$ {
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000; #这里根据你的php-fpm端口号而定
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /usr/local/etc/nginx/fastcgi_params;
}

6.php-fpm配置:

sudo killall php-fpm #停掉所有php-fpm的进程

7.启动php-fpm。不同版本的php,sbin目录里会有不同的php-fpm,比如php7.0的是php70-fpm, php5.6.18的是 php56-fpm,你想启动哪个fpm就敲

sudo ./php70-fpm start 或 sudo php56-fpm start 就行

我的php-fpm在cd /usr/local/Cellar/php70/7.0.26_18/sbin/这里,

我这里需要执行:

cd /usr/local/Cellar/php70/7.0.26_18/sbin/
sudo ./php70-fpm start

就可以启动php-fpm了。

测试环境
sudo vim /usr/local/Cellar/nginx/1.6.0_1/html/index.php

#添加测试代码
<?php 
echo phpinfo();

浏览器访问http://localhost/index.php即可,执行成功,则表示环境搭建成功

Mac的hosts文件位置(配置域名使用)

cd /private/etc
vim hosts