macos 中使用macport安装,配置,切换多版本php,使用port 安装php扩展方法总结

macport是一款mac系统中比较优秀的软件包管理工具,他与brew的最大区别在于软件包的安装速度相当的快,以安装php为例, 使用port安装和使用brew安装,port方式安装要比brew方式安装要快最少10倍以上, 因为port安装软件包时,相关的依赖全部都会走加速通道,而brew则仅软件包主体走加速,其他可能被墙直接安装失败!

下面以使用macport包管理工具安装 php72 版本为例来说明安装方法

使用port查找可用的php软件包

这里使用正则匹配模式,查找所有以 php开头的软件包, 命令如下

bash 复制代码
port search --name --line --regex '^php'

这个命令可以把所有以php开头的软件包都列出来, 这里支持的php版本从 php 5.2.17 到目前为止最新的php 8.4版本都支持,可谓相当的丰富!

使用sudo port install php72 安装php 7.2的最新版本

如果要安装其他版本的php,直接改一下下面命令中的php72为你要的版本,如 php84, php56等

bash 复制代码
sudo port install php72

安装后php的可执行程序会安装到 /opt/local/bin/ 目录, 几个主要的可执行文件和路径如下

/opt/local/bin/php 链接到 /opt/local/bin/php72

/opt/local/bin/php-config 链接到 /opt/local/bin/php-config72

/opt/local/bin/phpize 链接到 /opt/local/bin/phpize72

默认配置文件路径 /opt/local/etc/php72 ,这个里面默认有2个配置文件,根据需要将他们改名为php.ini即可。

bash 复制代码
cp  /opt/local/etc/php72/php.ini-development   /opt/local/etc/php72/php.ini

使用port select管理和设置当前php版本

查看当前可select的php的版本列表

下面这个命令可以列出当前已经安装的所有php版本

bash 复制代码
port select --list php

将当前的php版本设置为php72

bash 复制代码
#将php72设置为当前的默认php版本
sudo port select --set php php72

php扩展安装

首先通过php -m 命令查看当前php已经开启的扩展;

php -version 查看当前php版本, macport中php扩展的安装路径为 /opt/local/lib/php72/extensions

bash 复制代码
# 查找php72相关的port安装包
port search --name --line --regex '^php72'

使用port install 安装php扩展包

这里以安装 php72-xdebug 扩展为例

bash 复制代码
# 安装php72-xdebug扩展
sudo port install php72-xdebug

执行上面的命令安装的xdebug配置文件和so库文件位置如下

xdebug配置文件
/opt/local/var/db/php72 /xdebug.ini

xdebug.so库文件

/opt/local/lib/php72/extensions/no-debug-non-zts-20170718/xdebug.so

在执行install命令后,我们可以再次通过php -m 命令来查看当前php已经加载的PHP扩展,如下

当然,你也可以一次性安装多个扩展, 如下面的命令将一次性安装常用的php扩展

这些扩展是php必备常用扩展一键安装命令(注意替换版本号为你当前对于的php版本):

sudo port install php72-openssl php72-curl php72-iconv php72-gettext php72-opcache php72-redis php72-sqlite php72-mcrypt php72-zip

更多的常用扩展参考:

bash 复制代码
sudo port install php72-openssl php72-calendar php72-curl php72-dba php72-enchant php72-excel php72-ftp php72-gettext	php72-gmp php72-iconv php72-imap php72-mcrypt php72-memcached php72-mongodb php72-odbc php72-opcache php72-openssl php72-pcntl php72-redis php72-snmp php72-soap php72-sockets php72-sqlite php72-tidy php72-zip

一般情况下不推荐,这个东西还是按需安装即可,用到什么扩展就安装什么扩展是最佳的方法。

macport相关文章

macos MacPort 包管理工具安装和使用-CSDN博客

相关推荐
陌小呆^O^5 分钟前
Cmakelist.txt之win-c-udp-server
c语言·开发语言·udp
黑客Ela12 分钟前
网络安全中常用浏览器插件、拓展
网络·安全·web安全·网络安全·php
Gu Gu Study12 分钟前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言
时光の尘27 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
以后不吃煲仔饭40 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师41 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
前端拾光者1 小时前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化
程序猿阿伟1 小时前
《C++ 实现区块链:区块时间戳的存储与验证机制解析》
开发语言·c++·区块链
傻啦嘿哟1 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
大数据编程之光1 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink