Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)

摘要:
phpechophpinfo();?

一、前言

看网上很多资料,大多数都是

mac安装php,只需要:

brew tap homebrew/php

brew install phpXX

安装php扩展只需要:

brew install phpXX-phpExtension

但是执行上面两条命令的时候都会抛出error:

homebrew/dupes was deprecated. This tap is now empty as all its formulae were migrated.

homebrew/php was deprecated. This tap is now empty as all its formulae were migrated.

Homebrew/php已经弃用了,其他第三方tap也已经弃用或者迁移了,参考:

https://github.com/Homebrew/homebrew-php

现在执行一下

brew search php

出现的是:

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第1张

不再是以往的一大片各种版本的php以及扩展任君选择了,而扩展方面,以往我们是这样安装扩展的:

brew install php71-redis

现在已经搜不出来:

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第2张


二、安装

那么现在怎么安装php及扩展呢,上述github链接已经说的很明白,有兴趣的可以自己去看,我这里简单说一下。

下面举例安装php7.1

首先

brew tap Homebrew/homebrew-core

因为其他第三方tab已经迁移/弃用了,全部合并到这里

现在仍然可以通过

brew install php71

来安装php7.1,但是其实你会看到php71已经更名为php@7.1:

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第3张

安装过程截图:

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第4张

安装成功截图:

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第5张

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第6张

启动 php-fpm

brew services start php@7.1  

设置开机启动:

cp /usr/local/Cellar/php@7.1/7.1.29/homebrew.mxcl.php@7.1.plist  ~/Library/LaunchAgents/

launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php@7.1.plist

设置 Nginx 的 PHP-FPM 配置

打开 nginx 默认注释掉的php location设置,修改如下(具体配置参数,例如路径,这里以我本地安装为准):

location ~ .php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/var/www$fastcgi_script_name;
            include        /usr/local/etc/nginx/fastcgi_params;
        }

测试nginx配置是否正确:

StevendeMacBook-Pro:nginx steven$ nginx -t
nginx: [alert] could not open error log file: open() "/usr/local/var/log/nginx/error.log" failed (13: Permission denied)
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
2019/05/21 16:35:46 [emerg] 96011#0: open() "/usr/local/var/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed

因为我同时打开了日志,根据提示,说明日志文件夹没有权限

sudo chmod -R 777  /usr/local/var/log/nginx/


给他权限

 

再试试:

StevendeMacBook-Pro:log steven$ sudo nginx -t
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: [emerg] open() "/usr/local/Cellar/nginx/1.15.12/logs/access.log" failed (2: No such file or directory)
nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed

哦,这里没有/usr/local/Cellar/nginx/1.15.12/logs   logs文件夹,去创建一个就OK,并赋予权限

mkdir  /usr/local/Cellar/nginx/1.15.12/logs

chmod -R 777 logs/

 

 

再试试:

StevendeMacBook-Pro:1.15.12 steven$ sudo nginx -t
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful

成功了,重载nginx配置

sudo nginx -s reload

因为我的nginx解析的根目录是

/usr/local/var/www

所以,去这个目录下创建一个phpinfo.php文件,写入代码

<?php
    echo phpinfo();

?>

浏览器访问 http://localhost:8080/phpinfo.php

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)第7张


 附:

说一下要用到的几个位置

php-fpm在/usr/local/Cellar/php@7.1/7.1.22/sbin/php-fpm

php和fpm的相关配置在/usr/local/etc/php/7.1

安装php扩展:

直接pecl install phpExtension(如:pecl install redis)

扩展放置的位置开发者已经设置好,在/usr/local/lib/php/pecl/20160303

 

 

 

 

免责声明:文章转载自《Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇04点云数据结构格式gin 框架目录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php array_keys()函数 语法

php array_keys()函数 语法 作用:返回包含数组中所有键名的一个新数组。直线电机选型 语法:array_keys(array,value,strict) 参数: 参数 描述 array 必需。规定数组。 value 可选。您可以指定键值,然后只有该键值对应的键名会被返回。 strict 可选。与value参数一起使用。可能的...

Nginx深度优化

简介 1.隐藏版本号2.修改Nginx用户与组3.配置Nginx网页缓存时间4.实现Nginx的日志切割5.配置Nginx实现连接超时6.更改进程数7.配置Nginx实现网页压缩功能8.配置Nginx实现防盗链9.FPM模块进行参数优化 实验环境 系统环境:CentOS7.4 服务器IP地址:192.168.100.71 客户端IP地址:192.168....

【Docker】Docker介绍安装和使用

一.docker简介: docker是容器技术的一个代表,而容器技术是将程序打包和隔离的一种技术,其实它并不是一个新技术,之前在linux内核中早已存在,真正被大众所用所了解是因为docker的出现。docker之所以流行起来,是因为解决了一些计算机领域的痛点,它解决了软件包装的问题,保证开发与运维及测试环境的一致。docker可以将任何应用以轻量级容器的...

你连Nginx怎么转发给你请求都说不清楚,还好意思说自己不是CRUD工程师?

目录 一、Nginx工作原理二、Nginx进程模型三、Nginx处理HTTP请求流程 Nginx 工作原理 Nginx由内核和模块组成,Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block。 此location中所配置的各个指令则会启动不同的模块去完成工作,因此模块可以看做Ng...

通过MacOS的ssh远程打开linux的firefox(通过X11协议实现图形化显示)

1)X11有两个部分组成,一个是X server,一个是X client; --运行在Mac上的是X server,Xserver主要负责显示用户界面,管理显示器以及鼠标和键盘,把相关的动作告诉X client,通常比较多的Xserver是:windows的Xming和MobaXterm,MAC有Xquartz,以及其他各种Xserver的应用。 --运行...

Nginx技术研究系列5-动态路由升级版

前几篇文章我们介绍了Nginx的配置、OpenResty安装配置、基于Redis的动态路由以及Nginx的监控。 Nginx-OpenResty安装配置 Nginx配置详解 Nginx技术研究系列1-通过应用场景看Nginx的反向代理 Nginx技术研究系列2-基于Redis实现动态路由 [原创]Nginx监控-Nginx+Telegraf+Influxb...