【Mac】搭建本地PHP开发环境

安装PHP7.2

brew install php@7.2

安装和配置服务

Apache和Nginx都是服务器,只需要启动一个就够了,一般而言,Nginx是比较好的选择。

安装Nginx

使用以下指令来安装:

brew install nginx

通过查看nginx信息,查看配置文件所在路径

brew info nginx // 查看nginx信息

Docroot is: /usr/local/var/www 服务器默认路径
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that nginx can run without sudo. 其中/usr/local/etc/nginx就是配置文件所在的路径
/usr/local/Cellar/nginx/1.17.10 安装路径

配置Nginx

修改配置文件,端口设置为80

cd /usr/local/etc/nginx // 跳转到配置文件目录
sudo vim nginx.conf     // 编辑配置文件

serverlisten端口号改为80(端口号不一定要80,可以自定义)

server {
listen 80;
server_name localhost;
#charset koi8-r;

修改网站位置

user root owner; // 需要增加访问权限,不然访问网站会出现403错误
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /Users/asuna/Documents/www; // 本地网站文件夹路径,不能使用~来代替用户名
        index  index.html index.htm index.php; // 默认网页;nginx一般是不能直接访问PHP的,之后还需要做操作
    }

给nginx权限

sudo chown root:wheel /usr/local/Cellar/nginx/1.17.10/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.17.10/bin/nginx
sudo chown -R root:wheel /usr/local/etc/nginx/ 

这里的版本号要根据自己的做修改,用brew info nginx来查看路径。

启动服务

sudo nginx // 启动nginx

启动nginx后,在浏览器上打开localhost:80,出现Welcome to nginx!代表修改成功。
没修改hosts的用127.0.0.1:80
如果依然没有,建议清理下浏览器缓存和重启浏览器。

如果之前是启动服务状态的,需要重启服务

sudo nginx -t        // 测试配置是否有语法错误
sudo nginx -s reload // 重新加载文件
brew services restart nginx // 重启服务

如果出现nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx/nginx.pid"报错,可以使用下面指令来解决:

sudo nginx -s reload

可以使用以下指令来停止服务:

sudo nginx -s stop

Nginx配置的可选操作

启动进程,通常设置成和cpu的数量相等

worker_processes  1; // 默认是1

并发连接数

events {
    worker_connections  1024; // 单个worker process进程的最大并发链接数,默认1024
}

设定http服务器,利用它的反向代理功能提供负载均衡支持

    gzip  on; // 开启gzip压缩
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

Nginx支持PHP配置

修改php-fpm配置文件
执行命令:

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
sudo vim /private/etc/php-fpm.conf // 打开PHP配置文件

;error_log = log/php-fpm.log替换为error_log = /usr/local/var/log/php-fpm.log,否则会报错ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory

打开nginx配置,并打开server下被注释的location ~.php$块,然后把fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;改为fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
完成之后重启nginx服务,和启动php-fpm服务。

php-fpm // 不能加sudo,不然会导致权限问题,从而找不到PHP文件

然后访问localhost:80,看到php配置信息,就说明配置好了。
如果报错如下:

WARNING: Nothing matches the include pattern '/private/etc/php-fpm.d/*.conf' from /private/etc/php-fpm.conf at line 143.
ERROR: No pool defined. at least one pool section must be specified in config file
ERROR: failed to post process the configuration
ERROR: FPM initialization failed

使用以下方法可解决:

cd ~ // 转回主目录
cd /private/etc/php-fpm.d 
sudo cp www.conf.default www.conf // 复制一份无后缀的

然后重新启动php-fpm服务就行了。

安装mysql5.7

brew install mysql@5.7

安装完成之后,并不能在命令行直接使用mysql指令,需要配置环境变量。

open ~/.bash_profile // 打开baseShell的配置文件
export PATH="/usr/local/opt/mysql@5.7/bin:/usr/local/opt/mysql@5.7/sbin:$PATH" // 添加环境变量

如果open指令无法使用,就使用vim,按i进入编辑,esc退出编辑,:wq保存并退出,:q!是不保存退出
添加环境变量需要把以前的PATH也拼接进去,不然会导致丢失之前的路径,从而有些指令无法使用

保存后在命令行使用以下指令更新配置文件:

source ~/.bash_profile

MySQL的一些指令:

mysql.server start // 启动
mysql.server stop  // 停止

修改root默认密码

先启动MySQL,然后在命令行输入以下命令进入MySQL操作界面:

mysql -h127.0.0.1 -uroot -p // 如果要求输入密码,则直接按回车即可,因为在没修改密码之前是没有密码的
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; // MyNewPass就是要设置的密码
exit // 退出MySQL操作界面

进入MySQL后,可以输入status来查看MySQL的信息

安装PHP依赖管理工具

php第三方依赖管理工具有pear和Composer,Pear是比较古老的管理方式,而后者composer则需要PHP5.3以后的版本方支持。其管理灵感来自node的npm,其实管理起来也是非常方便的。
下载 Composer

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" // 下载安装脚本 - composer-setup.php - 到当前目录
php composer-setup.php // 执行安装过程
php -r "unlink('composer-setup.php');" // 删除安装脚本
sudo mv composer.phar /usr/local/bin/composer // 全局可用

升级版本可以使用composer selfupdate

系统全局启用镜像服务:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

如果需要解除镜像并恢复到packagist官方源,请执行以下命令:

composer config -g --unset repos.packagist

如果是使用oh-my-zsh

zsh有他自己的配置文件,所以.bash_profile在zsh里是不生效的。
zsh的配置文件是.zshrc,每次打开命令行工具的时候zsh只会加载.zshrc,并不加载.bash_profile
所以,为了使zsh也能和baseShell一样用,你需要把.bash_profile的配置复制一份到.zshrc里面。
但是,如果你不是有意的区分zsh和baseShell的环境的话(或者说你要zsh和baseShell环境无论何时都保持统一的话),那你每次修改配置都应该只修改.bash_profile文件,然后在.zshrc里面加上以下代码:

source ~/.bash_profile // 使zsh加载baseShell的配置

保持后重新加载.zshrc就行了

source ~/. zshrc // 重新加载配置文件

iOS OC Swift Flutter开发群 139322447

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342