PHP调用OpenAI API客户端提示‘OpenAI类未找到’问题求助
PHP版OpenAI API客户端报错:Class "OpenAI" not found 解决方案
问题背景
已通过以下命令完成依赖安装:
composer require openai-php/client composer require guzzlehttp/guzzle
使用初始代码:
$yourApiKey = getenv('YOUR_API_KEY'); $client = OpenAI::client($yourApiKey);
运行后触发报错:
Fatal error: Uncaught Error: Class "OpenAI" not found in C:\xampp\htdocs\test.php:13 Stack trace: #0 {main} thrown in C:\xampp\htdocs\test.php on line 13
已尝试添加require_once 'vendor/autoload.php';、修改为$client = \OpenAI::client($yourApiKey);,均无效果。
排查及解决步骤
修正自动加载文件路径
检查vendor/autoload.php的实际位置,若test.php不在Composer项目根目录,需调整路径为绝对路径或相对正确路径:// 示例:若test.php在htdocs,vendor在上级目录 require_once __DIR__ . '/../vendor/autoload.php';重新生成自动加载缓存
执行Composer命令修复可能的加载缓存或文件缺失:composer dump-autoload使用正确的类命名空间
OpenAI PHP客户端的正确类名是\OpenAI\Client,而非\OpenAI,需修正代码:// 方式1:导入命名空间 use OpenAI\Client; $client = Client::client($yourApiKey); // 方式2:直接使用完整命名空间 $client = \OpenAI\Client::client($yourApiKey);确认项目结构合规
确保test.php位于Composer项目根目录(即vendor文件夹的同级目录),避免因路径层级导致的加载失败。
内容的提问来源于stack exchange,提问作者rwallace
相关产品推荐
相关产品推荐

