PHP 开发准备
注意:这篇文章是基于 Homebrew 安装 php5.6 以及 nginx 和 mysql 的介绍,安装高版本的 php 请绕行。
简介
亲自实践在 MacOS 上面安装 PHP5.6+MySQL+Nginx.
将自己遇到的问题和对应的解决方案, 分享出来, 希望能帮到你.
MacOS 上面搭建 PHP 开发环境, 使用 Homebrew 来安装对应的开发套件, 就更加简单了.
这篇博客的目的就是安装 PHP 开发环境, 并将第一个 PHP 程序部署在 Nginx 上面.
如果在安装和使用过程中遇到问题, 可以查看这篇博客: Mac PHP 安装遇到的问题.
下面开始介绍具体的安装步骤.
一. 安装 Homebrew
这个大家可以自行访问 Homebrew 了解, 这里不再涉及具体的安装过程和方法.
二. 安装 php56
1.加入官方源
1 | brew tap homebrew/dupes |
2.安装 PHP
默认安装会运行在 Apache 下.
而我们要使它运行在 PHP-fpm 下,所以要增加参数:
1 | --with-fpm --without-apache |
查看所有安装参数可以输入:
1 | brew option php56 |
进行查看,参考安装指令:
1 | brew install php56 \ |
这里使用了下面的选项:
1 | with-homebrew-curl |
我试过不带此选项, 安装 PHP56 会失败, 找不到 curl.
安装成功后, 可以查看版本信息:
1 | php -v |
此时看到是的系统自带的版本.
下面一步是增加环境变量, 完成后在看版本信息, 即可.
3.配置 PHP 环境变量
配置环境变量的目的是要使用 brew 安装的 PHP 和 PHP-fpm, 不使用 MacOS 自带的 PHP 版本.
/usr/local/sbin/
下面是我们 brew 安装的 PHP, 其实他是一个软连接指向:/usr/local/Cellar/php56/5.6.27_4/sbin
/usr/local/bin/
下面也是 brew 安装的 PHP, 指向:/usr/local/Cellar/php56/5.6.27_4/bin
vim ~/.bash_profile 增加
1 | export PATH="/usr/local/sbin:$PATH" |
使其立即生效, 执行
1 | source ~/.bash_profile |
或者重启终端.
如果想看系统的 PHP 版本可以这样:
1 | /usr/bin/php -v |
4.配置 php-fpm
1 | sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf |
1 | sudo vi /private/etc/php-fpm.conf |
找到 error_log 项,添加下面配置:
1 | error_log = /usr/local/var/log/php-fpm.log |
否则会报:
1 | FPM initialization failed |
三. 安装 nginx
1 | brew install nginx |
创建文件
1 | mkdir -p /usr/local/var/logs/nginx |
1 | sudo mkdir -p /var/www |
改变 nginx.conf 配置文件
该配置文件在 /usr/local/etc/nginx/nginx.conf
下面.
我的配置:
1 | worker_processes 1; |
注意:
1 | location / { |
配置了我的 web 目录和支持的文件.
四. 运行 PHP
创建 index.php
启动 PHP-fpm
1 | sudo php-fpm |
或者以守护进程的方式来启动 PHP-fpm
1 | sudo php-fpm -D |
启动 Nginx
1 | sudo nginx |
编辑 index.php
在 web 目录(我配置的) /Users/mark/workspace/mzProjs/phpdev/nginx/nginx_sites/
新建文件 index.php
.
index.php 里面可以编写代码:
1 | <!-- lang: php --> |
打开浏览器, 你会看到下面的页面:
也可以在该目录下创建其他 php 文件, 如 mark.php 文件.
浏览器中输入:
http://localhost:8080/mark.php 可以执行相对应的文件.
这里的 mark.php
是自己新建的 php 文件.
五. 安装 MySQL
1 | brew install mysql |
等待安装成功后,直接启动和连接数据库。
- 启动 mysql
1 | mysql.server start |
- 连接 mysql
1 | mysql -u root -p |