网站首页 > 技术教程 正文
本文主要讲述,怎么在MacOS sierra(10.12.xx)下面安装一个完整的PHP开发环境,帮助开发者解决一些最基本的问题。
verchiel 原创
首先要了解MacOS预装了一些什么功能
对于MacOS sierra,对应的版本号是10.12.xx,也是截止到目前的最新版本的Mac系统。这个版本,本身就预装有Apache和PHP 5.6,但是对于开发者而言,这两个东西我们用不到。
自带的Apache,跟之前的mac系统预装的apache不再一样,这个版本的apache是一个纯净的版本,不再像之前一样是一个MOD集合在一起,利于开发者开发的apache带各种扩展包的版本。所以这个版本如果你想用利用自带的apache去开发php,是需要一些额外的工作量的,这里我们以Nginx为主。
自带的php版本是5.6,相信对于大多数开发者而言,现在都会选择php7系列的版本,因为php语言的开发版本都是向下兼容的,而且7系列的确比5系列要快,这个是笔者亲自测试过的,所以这里推荐装php7系列。
首先的准备工作
我们安装软件的工具,选择在Mac上面大名鼎鼎的Homebrew,这是一个MacOS平台上面的软件包管理器,利用它,我们只需要在命令行工具里面,轻松敲几行代码,就可以实现所有需要软件的安装,很是方便。下面的代码是怎么安装Homebrew(安装代码可以去官网上面查找,百度Homebrew即可)。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
给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环境的全部教程,原创不易,这里跟大家分享,如果有错误和遗漏的地方,欢迎大家指正。猜你喜欢
- 2024-10-13 推荐一个小工具:flog(推荐一个好用的)
- 2024-10-13 Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程
- 2024-10-13 HTML5如何实现视频直播功能(html video直播)
- 2024-10-13 直播大火,H5直播技术你知道吗?H5直播方案大讲解!
- 2024-10-13 简单聊聊实时视频rtmp(rtsp rtmp)
- 2024-10-13 如何快速的开发一个完整的iOS直播App
- 2024-10-13 Mac安装PHP开发环境(mac 开发php)
- 2024-10-13 Mac M1芯片电脑Java开发环境准备(java开发环境)
- 2024-10-13 完整的iOS直播App——搭建直播服务器
- 2024-10-13 Mac 基于HTTP方式访问下载共享文件,配置共享服务器
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)