GJ 站长论坛・社区规则,请知晓

1panel 面板 PHP 扩展怎么安装

域名注册
域名注册 初级会员超兽战士 👑年卡会员
发布于 2026-10-08 20:33 ·9 浏览 ·0 回复

学完这篇,你能在 1Panel 里给 PHP 运行环境装上扩展——面板列表里有的点几下就完事,列表里没有的(比如 swoole、imagick)也知道该进容器怎么编译,并且装完能自己验证有没有生效。

第一步:先确认你的 PHP 是「面板装的」还是「系统装的」

这一步要搞清楚你的网站到底在用哪个 PHP。1Panel 上的网站默认跑在「运行环境」里,本质是一个 PHP-FPM 的 Docker 容器;如果你之前用 apt install php 在系统里装过 PHP,那是另一套东西,面板的扩展管理管不到它。

判断方法:登录 1Panel,左侧菜单点「网站」→「运行环境」。如果这里能看到 PHP 8.1 / 8.2 / 8.3 之类的条目,状态是「已启动」,那你的 PHP 就是面板托管的,继续看第二步。

注意:部分 1Panel 版本里这个入口在「应用商店」→「已安装」下面,名字叫「PHP 运行环境」,找不到时两个地方都翻一下。

第二步:用面板勾选安装预置扩展

这一步解决 90% 的需求,redis、opcache、gd、zip、bcmath、mysqli、exif、intl 这些常用扩展都在预置列表里,装完不用敲一行命令。

具体操作:

  1. 在「运行环境」列表里点你的 PHP 版本名称(比如 php8.2),进入详情页。
  2. 在上方标签栏切到「扩展」。
  3. 页面会列出所有可勾选的扩展,勾上你要的,比如 redis、opcache、exif。
  4. 点右下角「保存」或「确认」,面板会自动重建并重启这个 PHP 容器。

等容器状态重新变成「已启动」,扩展就装好了。整个过程大概十几秒。

注意:保存后容器会重启,此刻跑在这个 PHP 上的网站会有几秒 502/连接失败,避开访问高峰期操作。

第三步:手动编译安装列表里没有的扩展

这一步解决「预置列表里找不到」的情况,比如 swoole、imagick、mongodb、grpc。装完的扩展在容器里长期有效,但容器被重建(升级 PHP 小版本、在面板上点「重建」)之后会丢。

先拿到容器名,在 1Panel 的「终端」里,或者 SSH 连上服务器执行:

docker ps --format "{{.Names}}\t{{.Image}}" | grep -i php

输出里那一列名字就是要用的容器名,形如 1Panel-php8-xxxx。把它复制出来,然后进容器:

docker exec -it 你的容器名 bash

进容器后先补编译工具(官方 PHP 镜像里 $PHPIZE_DEPS 这个变量还在,直接引用即可):

apt-get update && apt-get install -y $PHPIZE_DEPS

然后按扩展类型二选一:

pecl install redis          # PECL 上的扩展
docker-php-ext-install bcmath  # PHP 源码自带、但没编进去的扩展

pecl install 过程中如果问你 enable igbinary support? 之类,不确定就一路回车用默认值。装完一定要生成 ini,否则 PHP 不会加载:

docker-php-ext-enable redis

imagick 这种依赖外部库的,得先装库再编译:

apt-get install -y libmagickwand-dev
pecl install imagick
docker-php-ext-enable imagick

最后退出容器并重启它:

exit
docker restart 你的容器名

注意:如果你希望扩展永久保留,不要在容器里手改,改用「自定义镜像」的方式:先在面板里查一下这个容器的镜像名(docker inspect 容器名 --format '{{.Config.Image}}'),然后写个 Dockerfile,FROM 那个镜像,把上面的 pecl install 写进 RUN,再用这个自定义镜像建新的运行环境。

第四步:验证扩展是否真的生效

这一步确认前面没白干。最省事的是命令行验证:

docker exec 你的容器名 php -m | grep -i redis

能打印出 redis 就说明加载成功了。如果什么都没输出,多半是 ini 没生成,回容器里再执行一次 docker-php-ext-enable redis 并重启。

另一种验证方式更直观:在网站根目录建一个 info.php,内容只写 <?php phpinfo();,浏览器访问它,用 Ctrl+F 搜扩展名,能在列表里看到就成功了。

注意:验证完记得删掉 info.php,这种文件会把服务器环境信息全暴露出来。

小结

  • 面板托管的 PHP 是 Docker 容器,扩展要在「网站 → 运行环境 → PHP → 扩展」里装,不是在系统里 apt install。
  • 预置列表能覆盖 redis、gd、zip 等常用扩展,勾选后点保存,容器会自动重启。
  • 列表里没有的扩展(swoole、imagick 等)进容器用 pecl install 或 docker-php-ext-install,别忘了 docker-php-ext-enable 生成 ini。
  • 容器重建会丢手动装的扩展,要长期保留就做自定义镜像。
  • 装完用 php -m 或 phpinfo() 验证,并记得删掉临时的 info.php。
版权声明:本文来自 GJ站长论坛《1panel 面板 PHP 扩展怎么安装》
原文链接:https://www.gj0.com/thread-1177.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~