1panel 面板支持 PHP 吗
学完这篇你能照着在 1Panel 上把 PHP 网站跑起来,包括装运行环境、建站、装扩展和改配置。先给结论:1Panel 支持 PHP,而且支持多版本共存,但它和宝塔的做法不一样——1Panel 是把 PHP 跑在 Docker 容器里,不是装在宿主机上。
第一步:先搞清楚 1Panel 跑 PHP 的方式
这一步要弄明白原理,避免后面按宝塔的思路找错地方。结果是你知道该去哪儿操作。
1Panel 面板本身是 Go 语言写的,面板运行不需要 PHP。你装 PHP 是给网站用的。1Panel 的做法是:在「网站 → 运行环境」里创建一个 PHP 运行环境,本质是一个 php-fpm 容器,然后让网站容器把请求转发给这个 php-fpm。
所以你会看到两个概念:
- 运行环境:一个 php-fpm 容器,有版本号、端口、扩展配置
- 网站:绑定域名,指定用哪个运行环境
一个运行环境可以给多个网站共用,也可以一个网站单独用一个环境。
注意:1Panel 里没有「软件商店 → 安装 PHP」这种宿主机级安装。如果你在宿主机上敲
php -v提示找不到命令,是正常的,PHP 在容器里。
第二步:安装 PHP 运行环境
这一步创建一个 php-fpm 容器,做完你就有可用的 PHP 版本了。
打开 1Panel 左侧菜单 「网站」→「运行环境」(1Panel v1.10 及以上是这个路径,老版本在「应用商店」里搜 php 也能找到),点右上角 「创建运行环境」:
- 名称:随便起,比如
php82 - 应用:选
PHP - 版本:下拉选,常见有 7.4 / 8.0 / 8.1 / 8.2 / 8.3
- 端口:默认
9000。如果你要建第二个 PHP 环境,必须改成别的,比如9001 - 扩展:这一步可以先勾常用的(
mysqli、pdo_mysql、gd、curl、opcache、redis等)
点「确认」,等状态变成「运行中」就行。
注意:端口重复会直接创建失败。多个 PHP 环境必须用不同端口。
第三步:创建网站并绑定运行环境
这一步把域名和 PHP 环境接上,做完就能访问你的站点了。
左侧菜单 「网站」→「网站」,点 「创建网站」:
- 类型:选「运行环境」
- 运行环境:选上一步建的
php82 - 主域名:填你的域名,比如
www.example.com - 网站目录:默认
/opt/1panel/www/sites/你的域名/index,也可以自己填 - PHP 版本:会自动带出所选环境的版本
创建完之后,把 PHP 代码放进网站目录(可以在「网站」列表点「终端」或用 SFTP 上传),入口文件一般是 index.php。
注意:1Panel 默认会生成一个
index.html,它优先级比index.php高,会导致你打开域名看不到 PHP 效果。把index.html删掉,或者在网站设置 →「默认文档」里把index.php调到第一位。
第四步:装扩展、改 php.ini
这一步做精细化配置,做完你的程序兼容性问题基本能解决。
装扩展:进 「网站」→「运行环境」,点你的环境名进详情,切到 「扩展」 标签页,勾选需要的扩展(比如 WordPress 常要 fileinfo、exif、zip),点「安装」。装完会自动重启容器。
改 php.ini:同一个详情页切到 「配置文件」 标签,直接编辑里面的 php.ini 内容,比如把上传限制改成:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
保存后点 「重启」,配置才生效。
注意:改完 php.ini 不重启容器是不生效的,很多人卡在这一步以为没保存成功。
第五步:验证 PHP 是否生效
这一步确认整条链路通了。
在网站目录新建 test.php:
<?php
phpinfo();
浏览器访问 http://你的域名/test.php,能看到 PHP 信息页就说明成功了。确认完之后把这个文件删掉,phpinfo() 会暴露服务器环境信息,不要留在线上。
如果显示的是下载文件或者 502,按顺序查三件事:运行环境容器是否「运行中」、网站默认文档是否包含 index.php、运行环境端口和网站绑定的是否一致。
小结
- 1Panel 支持 PHP,方式是 Docker 容器化的 php-fpm,不是宿主机安装
- 入口路径:网站 → 运行环境 → 创建运行环境,多环境要用不同端口
- 建站时类型选「运行环境」,并注意删掉默认的
index.html - 扩展和
php.ini都在运行环境详情页里改,改完必须重启容器 - 验证用
phpinfo(),验完立刻删除
原文链接:https://www.gj0.com/thread-184.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。