Mac 10.12配置PHP开发环境

原创 Laughing  2017-07-05 18:22  阅读 909 次 评论 0 条

macOS Sierra 11.12 已经帮我们预装了 Ruby、PHP(5.6)、Perl、Python 等常用的脚本语言,以及 Apache HTTP 服务器。由于 nginx 既能作为 HTTP 服务器也能作为反向代理服务器,且配置简单,这里我们用 nginx 代替 Apache 作为我们默认的 HTTP 服务器。

安装命令行终端

这里我们选择 iTerm2,iTerm2 功能强大,可以替代系统默认的命令行终端。下载解压后,将iTerm2 直接拖入"应用程序"目录。

安装 Xcode

Xcode 是苹果出品的包含一系列工具及库的开发套件。
通过 App Store 安装最新版本的 Xcode。我们一般不会用 Xcode 来开发 PHP 项目。但这一步也是必需的,因为 Xcode 会帮你附带安装一些如 Git 等必要的软件。当然你也可以通过源码包安装 Git。

安装 Xcode Command Line Tools

这一步会帮你安装许多常见的基于 Unix 的工具。Xcode 命令行工具作为 Xcode 的一部分,包含了 GCC 编译器。在命令行中执行以下命令即可安装:

  1. xcode-select --install  

当 Xcode 和 Xcode Command Line Tools 安装完成后,你需要启动 Xcode,并点击同意接受许可协议,然后关闭 Xcode 就可以了。这一步骤也是必须的,否则Xcode包含的一系列开发工具都将不可用,例如 Git。

安装包管理器

Homebrew 作为 macOS 不可或缺的套件管理器,用来安装、升级以及卸载常用的软件。在命令行中执行以下命令即可安装:

  1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  

安装后可以修改 Homebrew 源,国外源一直不是很给力,这里我们将 Homebrew 的 git 远程仓库改为中国科学技术大学开源软件镜像:

  1. cd "$(brew --repo)"  
  2. git remote set-url origin git://mirrors.ustc.edu.cn/brew.git  

安装 HTTP 服务器

这里我们选择 nginx 代替系统自带的 Apache,作为我们的 HTTP 服务器:

  1. brew install nginx  

安装完成后,nginx 的一些常用命令:

  1. sudo nginx # 启动 nginx 服务  
  2. nginx -h # nginx 帮助信息  
  3. sudo nginx -s stop|quit|reopen|reload # 停止|退出|重启|重载 nginx 服务  

安装数据库

这里我们选择 MySQL 作为我们的数据库服务器:

  1. brew install mysql  

当然,你也可以选择安装 PostgreSQL 或者 MariaDB。
安装完成后,启动 MySQL:

  1. mysqld  
如果不执行上述操作,直接通过命令行进入 MySQL,一般会报一个 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock’ 的错误。

进入 MySQL 服务器:

  1. mysql -u root -p  

开启 PHP-FPM

nginx 本身不能处理 PHP,它只是个 HTTP 服务器,当接收一个 PHP 请求后,nginx 会将其交由 PHP 解释器处理,并把结果返回给客户端。nginx 一般是把请求发 FastCGI 管理进程处理,FastCGI 管理进程选择 CGI 子进程处理结果并返回被 nginx。

PHP-FPM 是一个 PHP FastCGI 管理器,一开始只是 PHP 源代码的一个补丁,旨在将 FastCGI 进程管理整合进 PHP 包中。必须将它 patch 到 PHP 源代码中,在编译安装 PHP 后才可以使用。PHP 从版本 5.3 开始官方集成 PHP-FPM。

添加 PHP-FPM 的配置文件:

  1. cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf  
  2. php-fpm --fpm-config /private/etc/php-fpm.conf  

修改 PHP-FPM 的 error_log 路径:

  1. vi /var/log/php-fpm.log # 新建文件  
  2. vi /private/etc/php-fpm.conf # 将 error_log=log/php-fpm.log 修改为:error_log = /var/log/php-fpm.log,保存  

启动 PHP-FPM:

  1. sudo php-fpm  

关闭 PHP-FPM:

  1. ps aux|grep php-fpm  
  2. sudo kill php-fpm min pid # 杀死 php-fpm 最小的进程id  

配置 nginx.conf 文件
通过以下命令可以查看 nginx.conf 文件的位置:

  1. nginx -h  

输出:

  1. nginx version: nginx/1.10.1  
  2. Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]  
  3.   
  4. Options:  
  5.   -?,-h         : this help  
  6.   -v            : show version and exit  
  7.   -V            : show version and configure options then exit  
  8.   -t            : test configuration and exit  
  9.   -T            : test configuration, dump it and exit  
  10.   -q            : suppress non-error messages during configuration testing  
  11.   -s signal     : send signal to a master process: stop, quit, reopen, reload  
  12.   -p prefix     : set prefix path (default: /usr/local/Cellar/nginx/1.10.1/)  
  13.   -c filename   : set configuration file (default: /usr/local/etc/nginx/nginx.conf)  
  14.   -g directives : set global directives out of configuration file  

打开配置文件:

  1. vi /usr/local/etc/nginx/nginx.conf  

在文件末尾可以看到:
include servers/*;
它将同目录下的servers目录里的文件都包含了进来,由此,我们可以在servers文件里创建开发项目的配置信息:

  1. cd servers/  
  2. vi test.conf  

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

  1. server {  
  2.     listen 8099;  
  3.     server_name localhost;  
  4.     root /home/www/php_project;  
  5.     rewrite . /index.php;  
  6.     location / {  
  7.         index index.php index.html index.htm;  
  8.         autoindex on;  
  9.     }  
  10.   
  11.     #proxy the php scripts to php-fpm  
  12.     location ~ \.php$ {  
  13.         include /usr/local/etc/nginx/fastcgi.conf;  
  14.         fastcgi_intercept_errors on;  
  15.         fastcgi_pass 127.0.0.1:9000;  
  16.     }  
  17. }  

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

  1. cd /home/www/php_project  
  2. vi test.php  

写入内容:

  1. <?php  
  2. phpinfo();  

重启 nginx:

  1. sudo nginx -s stop  
  2. sudo nginx  

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

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

本文地址:https://www.lisen.me/347.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情