IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> macOS 11.0 Big Sur 安装多版本php -> 正文阅读

[PHP知识库]macOS 11.0 Big Sur 安装多版本php

  • Homebrew 安装

一,执行brew官网命令安装brew

官网中复制下图中命令,在terminal中输入该命令,即:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

输入命令回车后,我们会发现下载速度很慢,然后就超时报错。
重复输入命令下载,仍然没法解决。于是尝试着第二种方法

二,安装brew

电脑终端输入如下命令:

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

按回车后,根据提示操作:输入镜像序号 --> 输入Y,回车等待brew安装完成即可。

  • Big Sur Required Libraries

安装过程中可能会需要openssl库

brew install openssl
  • Apache 安装

最新的macOS 11.0 Big Sur预装了 Apache 2.4,但是,将此版本与 Homebrew 一起使用可能会有很多问题,因为 macOS 在此版本中删除了一些必需的脚本。解决方案是通过 Homebrew 安装 Apache 2.4,然后将其配置为在标准端口 (80/443) 上运行。

如果您已经运行了内置 Apache,则需要先关闭它,并删除所有自动加载脚本。

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

安装httpd

brew install httpd

安装完成你会看到如下信息

/usr/local/Cellar/httpd/2.4.48: 1,660 files, 31.5MB

说明安装成功!

启动apache

brew services start httpd

通过浏览器访问http://localhost:8080,显示it works!说明成功。

  • 可能存在的问题

如果你的浏览器显示无法链接服务器的消息,首先确保服务器是否启动

ps -aef | grep httpd

尝试重新启动httpd

brew services restart httpd

?查看httpd的错误日志

tail -f /usr/local/var/log/httpd/error_log

ps:下边给出httpd的一些基本启动,重启,停止命令

$ brew services stop httpd
$ brew services start httpd
$ brew services restart httpd

httpd的日志目录 /usr/local/var/log

httpd的根目录 /usr/local/var/www

httpd配置文件目录?/usr/local/etc/httpd/httpd.conf

  • apache配置

vim?/usr/local/etc/httpd/httpd.conf?

端口号修改?Listen

文档根目录?

DocumentRoot "/usr/local/var/www"??

<Directory "/Users/your_user/Sites">

重新启动服务器

brew services stop httpd
brew services start httpd
  • 非 Sudo httpd 服务启动故障排除

如果你在使用apahce时apache未启动,请尝试以下方法解决

brew services start httpd

/usr/local/bin/httpd -k start? 尝试使用命令直接启动apache,这绕过了 brew services 命令并经常打印出特定问题。如果您报告了无法写入日志文件的问题,请尝试删除所有当前的 httpd 日志文件:rm -Rf /usr/local/var/log/httpd/*? 然后尝试重新开始

如果您看到类似 的消息Address already in use: AH00072: make_sock: could not bind to address,请尝试将Listen配置更改httpd.conf为:

Listen 0.0.0.0:80

  • PHP安装

Brew 仅正式支持PHP 7.2 到 7.4,但这些也必须构建,这非常慢,今天我们使用@shivammahtur来进行安装多版本的php

PHP 8.0刚刚发布,您可以安装它,但是兼容的 PHP 模块完全可用可能需要一些时间

brew tap shivammathur/php

我们继续安装各个版本的PHP

brew install shivammathur/php/php@5.6
brew install shivammathur/php/php@7.0
brew install shivammathur/php/php@7.1
brew install shivammathur/php/php@7.2
brew install shivammathur/php/php@7.3
brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.0

php.ini配置文件地址

/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/7.0/php.ini
/usr/local/etc/php/7.1/php.ini
/usr/local/etc/php/7.2/php.ini
/usr/local/etc/php/7.3/php.ini
/usr/local/etc/php/7.4/php.ini
/usr/local/etc/php/8.0/php.ini

此时,我强烈建议关闭所有终端选项卡和窗口。这将意味着打开一个新终端以继续下一步。强烈建议这样做,因为现有终端可能会出现一些非常奇怪的路径问题

我们已安装但未链接这些 PHP 版本,例如,要切换到 PHP?,我们可以输入:

brew unlink php && brew link --overwrite --force php@5.6

查看PHP版本

php -v

PHP 5.6.40 (cli) (built: Jul  2 2020 04:41:54) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

切换到php7.4

brew unlink php && brew link --overwrite --force php@7.4

查看版本

php -v

PHP 7.4.12 (cli) (built: Oct 30 2020 00:56:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.12, Copyright (c), by Zend Technologies

  • Apache PHP 设置 - 第 1 部分

您已成功安装 PHP 版本,但我们需要告诉 Apache 使用它们。编辑/usr/local/etc/httpd/httpd.conf文件滚动到LoadModule条目的底部。

如果您一直正确地遵循本指南,最后一个条目应该是您的mod_rewrite模块:

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

在此下方添加以下libphp模块:

LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so
#LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
#LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so

我们一次只能有一个模块处理 PHP,所以现在,我们放开php@5.6注释条目,而所有其他模块都被注释掉了。这将告诉 Apache 使用 PHP 5.6 来处理 PHP 请求。(稍后我们将添加切换 PHP 版本的功能)。

此外,您必须明确设置 PHP 的目录索引,因此搜索此块:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

将其替换为

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

重启apahce

brew services stop httpd
brew services start httpd

验证:在根目录下新建index.php文件,编辑文件<?php echo phpinfo();?> ,浏览器输入 http://localhost 查看phpinfo信息。

ps:如果你想切换PHP版本,需要通过注释LoadModule ...?php@5.6?...条目并取消注释其它版本之一来使用其他 PHP 版本。然后只需重新启动 apache 并重新加载相同的页面。

  • PHP 切换器脚本

PHP 切换器脚本?

我们将sphp脚本安装到 brew 的标准中/usr/local/bin

curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw/0c36a5067fbd63e6a36700a6aaa119df0836bdfc/sphp.sh > /usr/local/bin/sphp
chmod +x /usr/local/bin/sphp

测试php切换?

sphp 7.1

再试在浏览器打开http://localhost/ 查看phpinfo信息。

?成功!

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 11:46:44  更:2021-08-07 11:47:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 19:31:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码