macOS搭建PHP开发环境(brew安装nginx、mysql 和多版本php,并配置多个php同时运行的环境)

这篇具有很好参考价值的文章主要介绍了macOS搭建PHP开发环境(brew安装nginx、mysql 和多版本php,并配置多个php同时运行的环境)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

macOS搭建php开发环境

1.安装brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2.安装Nginx

brew install nginx

3.安装mysql

brew install mysql

4.安装php

由于homebrew主库中没有PHP7.2 之前的版本,并且7.2,7.3版本也被标记成过时版本;所以需要先挂在第三方的扩展,具体操作如下:

brew tap shivammathur/php
brew search php

php5.6

brew install shivammathur/php/php@5.6

php7.3

brew install shivammathur/php/php@7.3

php7.4

brew install shivammathur/php/php@7.4

php8.2

默认新版8以上直接安装

brew install php

5.修改php设置

sudo vim /usr/local/etc/php/5.6/php-fpm.conf  下的:

注意:5.6版本的配置文件路径和其他版本不一样
listen = 127.0.0.1:9000
改为
listen = 127.0.0.1:9056

sudo vim /usr/local/etc/php/7.3/php-fpm.d/www.conf  下的:
listen = 127.0.0.1:9000
改为
listen = 127.0.0.1:9073

sudo vim /usr/local/etc/php/7.4/php-fpm.d/www.conf  下的:
listen = 127.0.0.1:9000
改为
listen = 127.0.0.1:9074

sudo vim /usr/local/etc/php/8.2/php-fpm.d/www.conf  下的:
listen = 127.0.0.1:9000
改为
listen = 127.0.0.1:9082

6.修改nginx配置

sudo vim /usr/local/etc/nginx/nginx.conf

改为如下:

#user  nobody;
worker_processes  1;

error_log  /var/logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    include servers/*;
}

配置站点test1:

cd /usr/local/etc/nginx/servers 下新建站点配置文件如:
sudo vim test1.conf
内容如下:

server {
    listen       80;
    server_name  localhost;
    # 配置项目路径
    root   /Users/xxx/xxx/php/2023/test1; 

    #access_log  logs/host.access.log  main;

    location / {
        index  index.html index.htm index.php;
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
        }
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
    	# 9056上面设置的监听端口,加载php5.6
        fastcgi_pass   127.0.0.1:9056;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置站点test2:

cd /usr/local/etc/nginx/servers 下新建站点配置文件如:
sudo vim test2.conf
内容如下:

server {
    listen       80;
    server_name  localhost;
    # 配置项目路径
    root   /Users/kbq/workspace/php/2023/test2; 

    #access_log  logs/host.access.log  main;

    location / {
        index  index.html index.htm index.php;
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
        }
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
    	# 9074上面设置的监听端口,加载php7.4
        fastcgi_pass   127.0.0.1:9074;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

检查配置

nginx -t
如果报文件权限问题:sudo chmod -R 777 /var/logs

设置php-fpm开机自启

未验证成功

/usr/local/opt/php@5.6 下的homebrew.php@5.6.service
/usr/local/opt/php@7.3 下的homebrew.php@7.3.service

/usr/local/opt/php@7.4 下的homebrew.php@7.4.service
/usr/local/opt/php@8.2 下的homebrew.php@8.2.service
/usr/local/opt/php 下的homebrew.php.service

复制到

/Library/LaunchAgents

最后重启系统 

手动启动php-fpm

 brew services start php@5.6

 brew services start php@7.3

 brew services start php@7.4

 brew services start php@8.2

验证是否启动成功

lsof -i :9056

lsof -i :9073

lsof -i :9074

lsof -i :9082

终端切换php版本

解除之前版本链接:brew unlink php

 增加新版本链接:

brew link --overwrite php@5.6

brew link --overwrite php@7.3

brew link --overwrite php@7.4

brew link --overwrite php@8.2

 将php加入环境变量

将如下加入 /Users/xxx/.bash_profile

export PATH=${PATH}:/usr/local/opt/php@5.6/bin
export PATH=${PATH}:/usr/local/opt/php@5.6/sbin
alias php56="/usr/local/opt/php@5.6/bin/php"

export PATH=${PATH}:/usr/local/opt/php@7.3/bin
export PATH=${PATH}:/usr/local/opt/php@7.3/sbin
alias php73="/usr/local/opt/php@7.3/bin/php"

export PATH=${PATH}:/usr/local/opt/php@7.4/bin
export PATH=${PATH}:/usr/local/opt/php@7.4/sbin
alias php74="/usr/local/opt/php@7.4/bin/php"

export PATH=${PATH}:/usr/local/opt/php@8.2/bin
export PATH=${PATH}:/usr/local/opt/php@8.2/sbin
alias php82="/usr/local/opt/php@8.2/bin/php"

使配置生效 source .bash_profile

校验配置是否成功,终端输入

php56 -v

php73 -v

php74 -v

php82 -v

显示如下类似内容,则为成功

PHP 8.2.12 (cli) (built: Nov  6 2023 02:54:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

安装composer

php56 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php56 -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php56 composer-setup.php
php56 -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer56

检验是否成功 

~/ composer74
Failed loading /usr/local/Cellar/php/7.3.3/lib/php/pecl/20180731/xdebug.so:  dlopen(/usr/local/Cellar/php/7.3.3/lib/php/pecl/20180731/xdebug.so, 0x0009): tried: '/usr/local/Cellar/php/7.3.3/lib/php/pecl/20180731/xdebug.so' (no such file)
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.6.5 2023-10-06 10:11:52

其他版本安装,将php56改为php73、php74、php82,将composer56改为composer73、composer74、composer82文章来源地址https://www.toymoban.com/news/detail-763786.html

到了这里,关于macOS搭建PHP开发环境(brew安装nginx、mysql 和多版本php,并配置多个php同时运行的环境)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【开发环境】macOS中包管理器brew的使用入门

     官网:Homebrew — The Missing Package Manager for macOS (or Linux) 所以,它是个包管理器,就像Linux系统的yum、apt-get神器,brew是MacOS系统中的神器。可以通过brew来安装大部分软件。 安装的软件都来源于官网,安全。 brew会管理软件的依赖和库,在不造成冗余的同时,大大缩短软件包的

    2024年01月25日
    浏览(46)
  • Docker Ubuntu php nginx mysql redis 开发环境部署教程

    点击: ubuntu 22.04 配置多版本 php nginx mysql redis 超简单教程

    2024年02月08日
    浏览(55)
  • macos下php 5.6 7.0 7.4 8.0 8.3 8.4全版本PHP开发环境安装方法

    在macos中如果使用brew 官方默认的core tap 只可以安装官方最新的稳定版PHP, 如果想要安装 php 5.6 或者 php 8.4版本的PHP就需要使用第三方的tap , 这里分享一个比较全面的brew tap   shivammathur/php 这个tap里面包含了从php5.6到最新版php8.4的所有可用最新版本PHP, 而且是同步官方自动更新

    2024年02月03日
    浏览(50)
  • MacOS12及以上版本安装PHP,配置Nginx

      自Macos12版本开始,php不再内置,需要自己安装,自己安装过程中遇到了一些问题,在这个帖子做一个详细的安装过程及可能遇到的问题与解决办法的总结。 这里通过homebrew进行安装,如果没有homebrew的话,可以在终端通过以下命令安装: 以上是通过国内的镜像源进行安装(

    2024年02月04日
    浏览(58)
  • mac brew安装mysql5.7并配置环境

    1.brew install mysql@5.7 2.   echo \\\'export PATH=\\\"/usr/local/opt/mysql@5.7/bin:$PATH\\\"\\\' ~/.zshrc   export LDFLAGS=\\\"-L/usr/local/opt/mysql@5.7/lib\\\"   export CPPFLAGS=\\\"-I/usr/local/opt/mysql@5.7/include\\\" 3.brew services start mysql@5.7 4.mysql_secure_installation 输入以上命令后,出现如下: Securing the MySQL server deployment. Connecting to MySQL

    2024年02月15日
    浏览(47)
  • 如何在Ubuntu 18.04上安装PHP 7.4并搭建本地开发环境

    PHP是一种流行的服务器脚本语言,用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 7.4,并通过命令行设置本地编程环境。您还将安装依赖管理器Composer,并通过运行脚本来测试您的安装。 要完成本教程,您需要安

    2024年02月11日
    浏览(70)
  • 解决macos使用brew安装php8.2后,老版本提示‘/usr/local/opt/icu4c/lib/libicui18n.70.dylib‘ (no such file)

    原本安装了php7.2,使用brew安装php8.2之后,php 7.2无法使用了,提示: 可以看到/usr/local/opt/icu4c/lib/下没有对应文件了。 今天使用另一种方式来修复。 修复步骤如下: 进入目录: 找到icu4c 7.0的git log: 这里耐心等待下,log比较多,等多几秒就能看到icu4c 7.0的提交记录。 找到后

    2024年02月13日
    浏览(54)
  • docker搭建nginx+php环境

    一、docker拉取nginx和php镜像 命令如下: 1、创建本地挂载路径: 2、创建php容器 3、创建nginx本地挂在路径: 4、nginx配置文件如下: 5、创建nginx容器: PS: 6、创建文件测试: 效果如下: 参考文章:nginx调用php原理

    2024年02月13日
    浏览(44)
  • 在MacOS 上 使用brew 部署C++ gcc编译环境

    brew包管理工具能够帮助我们更好的管理电脑中的各种工具 再尝试了很多次下载之后发现,需要使用到国内的包进行下载安装,不要使用官网的链接进行直接下载,很大可能会导致下载失败 按照提示,需要重启Terminal或者输入 输入后提示 原因可能是没有安装xcode–select 按照提

    2024年02月05日
    浏览(36)
  • docker 部署 nginx+php+mysql 环境

    记录一下docker部署web服务器流程。nginx,mysql,php不同的版本配置内容可能会不同。 docker常用命令 目录结构 创建目录 运行PHP容器 php容器内容目录结构如下: PHP5.4升级后,php.ini-dist不见了,出现了php.ini-developmen和php.ini-production。 php.ini-development 对应于 php.ini-dist,适合开发测

    2024年04月24日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包