MacOS sierra系统下面安装PHP,MySql,Nginx开发环境

2022-10-11 21:24:46 148 0
魁首哥

verchiel 原创

首先要了解 MacOS 预装了一些什么功能

对于 Mac OS sierra,对应的版本号是10.12.xx,也是截止到目前的最新版本的Mac系统。这个版本,本身就预装有 Apache 和PHP 5.6,但是对于开发者而言,这两个东西我们用不到。

  1. 自带的Apache,跟之前的mac系统预装的apache不再一样,这个版本的apache是一个 纯净 的版本,不再像之前一样是一个MOD集合在一起,利于开发者开发的apache带各种扩展包的版本。所以这个版本如果你想用利用自带的apache去开发php,是需要一些额外的工作量的,这里我们以 nginx 为主。

  2. 自带的php版本是5.6,相信对于大多数开发者而言,现在都会选择php7系列的版本,因为php语言的开发版本都是向下兼容的,而且7系列的确比5系列要快,这个是笔者亲自测试过的,所以这里推荐装php7系列。

首先的准备工作

我们安装软件的工具,选择在Mac上面大名鼎鼎的Homebrew,这是一个MacOS平台上面的软件包管理器,利用它,我们只需要在命令行工具里面,轻松敲几行代码,就可以实现所有需要软件的安装,很是方便。下面的代码是怎么安装Homebrew(安装代码可以去官网上面查找,百度Homebrew即可)。

/usr/ bin /ruby -e "$(curl -fsSL " 

给Homebrew新增加个tag库

brew tap homebrew/dupes 
brew tap homebrew/versions 
brew tap homebrew/php 
brew tap josegonzalez/homebrew-php 

升级一下Homebrew到最新的版本

sudo brew update 

安装Command Line Tools

xcode-select --install 

安装MySql

(1)安装mysql

brew install mysql 

(2)开启mysql

mysql.server start 

(3)执行mysql_secure_installation,初始化mysql配置

mysql_secure_installation 

然后你可以用下面的命令进入到mysql当中去进行你需要的操作。

mysql -u root -p 

安装PHP 7.0

这里我们有两种方法去进行安装,php扩展需要自己选择,这里我这是列举了一些常用的。当然,我们这里安装的是php 7.0系列的,如果你想安装7.1或者7.2系列,不用我说,看了下面的你也应该知道怎么安装了。

第一种

brew install php70 --with-gmp --with-homebrew-curl --with-homebrew-libressl --with-homebrew-libxml2 --with-homebrew-libxslt --with-imap --with-libmysql --with-mssql 

第二种,我推荐用这种去进行安装

brew install php70 php70-apcu php70-igbinary php70-opcache php70-mcrypt php70-igbinary php70-imagick 

etc目录下面创建一个php. ini 的快捷方式,指向你自己的php.ini配置文件(注意这里只是一个软链接,并不是真正的文件路径)

sudo ln -s /usr/local/etc/php/7.0/php.ini /etc/ 

根据自己需求配置php.ini文件,别忘了保存

sudo vi /etc/php.ini 

由于Mac自带了php和php-fpm,因此需要添加系统环境变量PATH来替代自带PHP版本,我们用的是 zsh ,所以放进 .zshrc 中,如果你用的shell是 bash ,那么可以把下面的信息写入到 ~/.bash_profile 文件中,如果这个文件没有,你自己建一个就行。

(1)用了iterm2命令行的

echo 'export PATH="$(brew --prefix php70)/bin:$PATH"' >> ~/.zshrc 
echo 'export PATH="$(brew --prefix php70)/sbin:$PATH"' >> ~/.zshrc 
echo 'export PATH="/usr/local/bin:/usr/local/sbib:$PATH"' >> ~/.zshrc 
source ~/.zshrc 

(2)用原生的命令行的

echo 'export PATH="$(brew --prefix php70)/bin:$PATH"' >> ~/.bash_profile 
echo 'export PATH="$(brew --prefix php70)/sbin:$PATH"' >> ~/.bash_profile 
echo 'export PATH="/usr/local/bin:/usr/local/sbib:$PATH"' >> ~/.bash_profile 
source ~/.bash_profile 

测试效果

php -v 

应该显示下面类似的信息

PHP 7.0.12 (cli) (built: Oct 24 2016 00:06:38) 
Copyright (c) 1997-2016 The PHP Group 

在看看php-fpm的

php-fpm -v 

应该显示下面类似的信息

PHP 7.0.12 (fpm-fcgi) (built: Oct 24 2016 00:06:45) 
Copyright (c) 1997-2016 The PHP Group 

Mac自带的php, 我以前的项目有些依赖不支持php7,所以这个我是留着的,随时切换使用

/usr/bin/php -v 
PHP 5.6.24 (cli) (built: Aug 8 2016 16:58:37)
Copyright (c) 1997-2016 The PHP Group 

php-fpm配置文件路径

下面是上面刚刚安装的php-fpm配置文件目录,自己根据需要来进行配置

vi /usr/local/etc/php/7.0/php-fpm.conf 

php配置文件路

vi /usr/local/etc/php/7.0/php.ini 

安装Nginx

安装nginx

brew install nginx 

开启nginx

sudo nginx 

配置nginx.conf

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

这里可以参考下面的配置

worker_processes 1;

error_log /usr/local/ var /log/nginx/error.log debug;

pid /usr/local/var/run/nginx.pid;

events {

worker_connections 256;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘

‘$status $body_bytes_sent “$http_referer” ‘

‘”$http_user_agent” “$http_x_forwarded_for”‘;

access_log /usr/local/var/log/nginx/access.log main;

sendfile on;

keepalive_timeout 65;

port_in_redirect off;

include /usr/local/etc/nginx/servers/*;

}

设置软连接到/etc目录下面

ln -s /usr/local/etc/nginx /etc/nginx 

配置sever block,先新建一个sever block的配置文件,放在nginx下面的server目录

vi /usr/local/etc/nginx/servers/example.conf 

下面是一个参考代码:

server {

listen 80;

server_name verchielxy.local;

root /Users/xuyan/Sites/verchielxy/public;

index index.php index. html index.htm;

charset utf-8;

error_page 401 /401.html;

error_page 403 /403.html;

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;

location / {

# laravel 开启

try_files $uri $uri/ /index.php?$query_string;

}

location = /robots.txt { allow all; access_log off; log_not_found off; }

location = /favicon.ico { allow all; access_log off; log_not_found off; }

location ~ \.php$ {

root /Users/xuyan/Sites/verchielxy/public;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

include fastcgi_params;

}

location ~ /\.ht {

deny all;

}

}

千万不要忘了重启nginx

nginx -s reload 

停止自带的Apache2以及加入系统launchctl

launchctl,可以理解为开机自动启动,所以我们要开机自动启动nginx,mysql以及php-fpm

停止自带的Apache2

sudo apachectl stop 
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd. plist  2>/dev/null 

开机自动启动nginx,mysql以及php-fpm

mysql

cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/ 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 

nginx

mkdir ~/Library/LaunchDaemons/ 
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchDaemons/ 
sudo chown root:wheel ~/Library/LaunchDaemons/homebrew.mxcl.nginx.plist 
sudo launchctl load ~/Library/LaunchDaemons/homebrew.mxcl.nginx.plist 

php70

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

下面附赠一些常用到的常识。

nginx的配置文件,路径在

/usr/local/etc/nginx/nginx.conf

nginx的日志文件路径在

/usr/local/var/log/nginx

nginx的pid文件,路径在

/usr/local/var/run/

nginx的server文件,路径在

/usr/local/etc/nginx/servers/

以上就是MacOS下面的配置php环境的全部教程,原创不易,这里跟大家分享,如果有错误和遗漏的地方,欢迎大家指正。

收藏
分享
海报
0 条评论
148
上一篇:php加密技术原理浅析(三):非对称加密 下一篇:跟着MISS学PHP版本升级:linux下把PHP当前版本升级到5.6

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码