php8.3安装扩展的新方法

传统的用pecl安装php扩展,已经被废弃,现代化的安装扩展需要使用pie工具;

具体的pie说明:

复制代码
https://github.com/php/pie

环境要求:php版本最低8.1、gh该工具必须安装,gh会验证pie是否安装成功

我的服务器环境:debian 13; 我通过命令安装了gh,但gh的版本过低,debian13通过自身的仓库安装的gh版本是2.46,但是要安装pie1.4.8这个版本,必须要求gh的版本是2.49或者更高版本;

下面要先解决gh的版本问题,否则pie安装会失败;考虑到当前我是root用户权限:

bash 复制代码
apt remove -y gh

mkdir -p -m 755 /etc/apt/keyrings

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
  -o /etc/apt/keyrings/githubcli-archive-keyring.gpg

chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
  > /etc/apt/sources.list.d/github-cli.list

apt update
apt install -y gh

安装后检查gh是否安装成功、查看其版本号:

bash 复制代码
gh --version
gh attestation --help

安装gh成功后,还要登录github:

bash 复制代码
gh auth login
gh auth status

// 会出现一下提示:
GitHub.com
HTTPS
Authenticate Git with your GitHub credentials? n
Login with a web browser

/*终端显示一个一次性验证码。
自动尝试打开浏览器;服务器没图形界面也没关系。
你在自己电脑浏览器打开终端给出的 GitHub 地址。
输入验证码并授权。*/

// 然后回到服务器执行
gh auth status

如果gh安装成功后:考虑到我的服务器在中国大陆,可以先把:

bash 复制代码
https://github.com/php/pie/releases/latest/download/pie.phar

下载到本地计算机,然后通过宝塔上传到:

bash 复制代码
/root/www/server/temp/

执行安装pie的操作:

bash 复制代码
// 验证pie.phar
gh attestation verify --owner php /www/server/temp/pie.phar
// 安装pie.phar
install -m 0755 /www/server/temp/pie.phar /usr/local/bin/pie
// 查看pie版本号
/www/server/php/83/bin/php /usr/local/bin/pie --version
// 删除pie.phar安装包
rm -f /www/server/temp/pie.phar

在安装成功后,也可以在根目录下执行:

bash 复制代码
pie --version

// 返回内容
root@VM-8-11-debian:~# pie --version 
🥧 PHP Installer for Extensions (PIE) 1.4.8

至此,安装完毕;

举例:安装redis扩展,默认的php8.3在宝塔里安装的是5.3.7这个版本,但我想安装新的稳定版本6.3;

bash 复制代码
pie install 'phpredis/phpredis:^6.3' \
  --with-php-config=/www/server/php/83/bin/php-config \
  --with-phpize-path=/www/server/php/83/bin/phpize \
  -vv

安装完成后,千万别忘了,重载php配置,否则在phpinfo环境面板中,redis的版本还是之前的旧的版本5.3.7;

相关推荐
piikee1 年前
php内存缓存插件yac的安装配置--平替apcu,多进程共享内存
开发语言·缓存·php·yac·php扩展·php内存缓存·apcu平替
tekin2 年前
macos php开发环境之macport安装的php扩展安装,php常用扩展安装,port中可用的所有php扩展列表
开发语言·php·port·macport·php扩展安装·php扩展配置·php常用扩展