You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cPanel应用管理器中设置的环境变量如何使用PHP调用?

cPanel共享主机PHP读取Application Manager配置的环境变量方案

第一步:先尝试原生读取方法

你可以先在home/mytest-folder路径下新建测试PHP文件,写入以下代码测试:

<?php
// 方法1:使用getenv函数
$test_var = getenv('test_var');
var_dump($test_var);

// 方法2:读取$_ENV超全局变量
var_dump($_ENV['test_var'] ?? '未找到$_ENV中的test_var');

// 方法3:读取$_SERVER超全局变量
var_dump($_SERVER['test_var'] ?? '未找到$_SERVER中的test_var');
?>

如果以上方法返回的是你配置的test值,说明环境变量已经正常传递,可以直接使用。如果返回false或者未找到,需要做以下配置修改:

第二步:配置环境变量传递(适配GoDaddy共享主机)

cPanel默认会限制PHP进程读取系统/应用级环境变量,你可以任选以下一种方案配置:

方案1:通过.htaccess传递环境变量

在home/mytest-folder路径下的.htaccess文件中添加以下规则,CGI/FastCGI模式需要加HTTP_前缀:

# 传递环境变量给PHP
SetEnv test_var test
# 如果上面不生效,FastCGI模式用下面的写法
SetEnv HTTP_test_var test

配置后你可以用getenv('HTTP_test_var')或者getenv('test_var')读取对应值。

方案2:使用PHP版dotenv类库(和你Node.js的使用习惯一致,更安全)

和Node.js的dotenv逻辑完全一致,你可以用PHP通用的dotenv类库实现:

  • 在应用根目录新建.env文件,写入test_var=test,注意把.env文件加入.gitignore避免提交到代码仓库
  • 配置.htaccess禁止外部访问.env文件,添加规则:
<Files .env>
    Order allow,deny
    Deny from all
</Files>
  • 在PHP入口文件引入dotenv加载逻辑:
<?php
require __DIR__ . '/vendor/autoload.php';

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

// 读取变量
$test_var = $_ENV['test_var'];
?>

这种方案安全性更高,不需要依赖主机的环境变量配置,也避免敏感配置硬编码到代码中。

安全最佳实践

  • 不要把敏感配置(比如数据库密码、API密钥)硬编码到PHP代码中
  • 如果使用.env文件,一定要配置服务器规则禁止外部直接访问该文件
  • 不要把.env文件提交到版本控制系统
  • 生产环境不要开启PHP的环境变量调试输出,避免泄露敏感配置

内容的提问来源于stack exchange,提问作者CynicWays

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:24:02