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

纯PHP调用Twilio API发送短信提示Credentials are required报错如何解决

报错根因

报错日志明确显示实例化Twilio Client时传入的两个参数均为空字符串,核心问题是你代码中使用getenv()读取环境变量取值,原生PHP默认不会自动加载项目目录下的环境变量配置文件,这就是相同配置Python可正常运行、PHP报错的差异点:Python项目通常会默认加载.env文件内的环境变量,原生PHP没有该能力。

解决方案

方案1:临时测试直接赋值(仅调试用,生产环境禁止硬编码密钥)

直接将你获取到的Twilio账号SID和Auth Token直接赋值给变量,替换原有getenv两行代码即可:

// 替换为你自己的实际凭证
$sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

修改后直接运行即可验证功能是否正常。

方案2:规范使用环境变量加载(推荐生产使用)

原生PHP需要借助第三方库加载.env文件的配置,操作步骤如下:

  • 通过composer安装dotenv依赖
    composer require vlucas/phpdotenv
    
  • 在项目根目录创建.env文件,写入你的凭证:
    TWILIO_ACCOUNT_SID=你的实际账号SID
    TWILIO_AUTH_TOKEN=你的实际Auth Token
    
  • 在原有代码的require_once 'vendor/autoload.php';后新增环境变量加载逻辑:
    $dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
    $dotenv->load();
    
  • 额外检查:如果修改后还是读取不到值,打开XAMPP的php.ini配置文件,找到variables_order配置项,修改为variables_order = "EGPCS",保存后重启Apache即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:54:01