在宝塔面板中,PHP默认会禁用一些被认为有安全风险的函数,例如putenv、proc_open、passthru等。当我们的项目依赖这些函数(如Composer安装依赖、Laravel队列等)时,就会抛出错误。要解除限制,只需在面板中修改对应PHP版本的禁用函数配置即可。

一、登录宝塔面板并进入PHP设置
首先打开浏览器登录宝塔面板,在左侧导航点击“软件商店”,已安装列表中找到你站点使用的PHP版本(如PHP 7.4),点击右侧的“设置”按钮进入管理界面。
二、找到禁用函数配置项
在PHP设置页面中,切换到“禁用函数”选项卡。这里会以列表形式展示当前被禁用的函数名称,常见的包括:
- putenv
- proc_open
- proc_close
- passthru
- shell_exec
我们只需要将项目中必须用到的函数从列表中删除。例如要解除putenv和proc_open,就点击对应函数后面的“删除”链接。
手动删除操作示例
假设我们要删除putenv和proc_open,界面操作等同于修改PHP的配置文件。底层实际变更的是php.ini里的disable_functions指令,等效内容如下:
; 修改前 disable_functions = putenv,proc_open,passthru,exec,system ; 修改后(删除 putenv 和 proc_open) disable_functions = passthru,exec,system
三、通过配置文件直接修改(备选方案)
如果面板界面操作不便,也可以直接在文件管理中编辑PHP的配置文件。路径通常为:
/www/server/php/74/etc/php.ini
用文本编辑器打开后搜索disable_functions,删掉不需要的函数名,保存文件。
使用sed命令快速删除(Linux命令行)
# 备份原配置 cp /www/server/php/74/etc/php.ini /www/server/php/74/etc/php.ini.bak # 删除 disable_functions 中的 putenv 和 proc_open sed -i 's/putenv,//g; s/proc_open,//g; s/,putenv//g; s/,proc_open//g' /www/server/php/74/etc/php.ini
四、重启PHP服务使配置生效
无论用哪种方式修改,都必须重启PHP服务。在宝塔面板PHP设置页的“服务”选项卡中点击“重启”,或者在命令行执行:
# 重启 PHP 7.4(具体文件名视版本而定) /etc/init.d/php-fpm-74 restart
五、验证函数是否可用
新建一个PHP文件放在站点目录,通过浏览器访问来测试:
<?php
// 检查 putenv 和 proc_open 是否可用
if (function_exists('putenv')) {
echo "putenv 函数可用n";
} else {
echo "putenv 仍被禁用n";
}
if (function_exists('proc_open')) {
echo "proc_open 函数可用n";
} else {
echo "proc_open 仍被禁用n";
}
?>
六、注意事项
解除禁用函数会降低一定安全性,建议只删除项目必需的函数,并在操作前对php.ini做好备份。如果服务器启用了php_admin_value指令(某些环境下在/www/server/php/74/etc/php-fpm.conf中),也需要同步检查该处是否重复限制了函数。
提示:部分宝塔版本在“禁用函数”页面删除后,会自动重载配置;若未生效请手动重启PHP。
宝塔面板PHP禁用函数putenvproc_openphp_admin_value修改时间:2026-07-25 09:45:19