PHP 7.3 不支持 OpenAI 官方 SDK(v1.0+),因其强制要求 PHP 8.0+;PHP 8.0+ 环境需确保启用 cURL、openssl、json 扩展,并用绝对路径执行 Composer 安装。

在宝塔面板中为 PHP 7.3 或 PHP 8.x 环境安装 OpenAI SDK(如官方 openai-php/client)时,核心问题不在于 SDK 本身,而在于底层运行环境是否满足其依赖条件。PHP 7.3 和 PHP 8.x 差异显著,需分情况处理——尤其要注意:OpenAI 官方 SDK 自 v1.0 起已**最低要求 PHP 8.0**,PHP 7.3 无法原生兼容。
PHP 7.3 环境不能直接装新版 OpenAI SDK
OpenAI 官方 PHP SDK(github.com/openai-php/client)从 v1.0 开始强制依赖 PHP 8.0+ 的特性,例如:
- 联合类型(
string|int)、命名参数、构造器属性提升等语法 - 依赖的
guzzlehttp/guzzle ^7.5要求 PHP ≥ 7.2.5,但 SDK 自身代码已使用 PHP 8 专属语法 - Composer 安装会直接报错:
Your requirements could not be resolved to an installable set of packages.
若必须用 PHP 7.3,唯一可行方案是降级使用社区维护的旧版封装(如 thephpleague/openai v0.8.x),但该库已停止维护、无官方支持、不兼容 OpenAI 新 API(如 chat/completions v1 接口),且存在安全风险。不推荐生产环境使用。
PHP 8.0+ 环境安装前必检三项
即使切换到 PHP 8.0/8.1/8.2,也不能直接 composer require openai-php/client 就完事。宝塔环境下常因以下三项缺失导致安装失败或运行报错:
立即学习“PHP免费学习笔记(深入)”;
-
cURL 扩展必须启用:SDK 底层依赖 Guzzle HTTP Client,若
curl未勾选安装,composer require会卡在 autoload 生成阶段,或运行时报Call to undefined function curl_init() -
openssl 扩展必须启用:用于 HTTPS 请求证书验证,缺失会导致连接 OpenAI 时抛出
cURL error 60: SSL certificate problem;宝塔安装 PHP 时务必勾选openssl -
json 扩展必须启用:PHP 8 默认内置,但若被误禁(如
disable_functions = json_encode,json_decode),SDK 解析响应会直接崩溃;进宝塔对应 PHP 版本的「禁用函数」页检查并移除
安装与验证操作建议
确认环境达标后,按顺序执行:
- 进入站点根目录(如
/www/wwwroot/myapp),确保已初始化 Composer(有composer.json) - 终端执行:
/www/server/php/81/bin/php -d disable_functions= composer require openai-php/client(用绝对路径调用目标 PHP,并临时绕过禁用函数限制) - 写一个测试脚本
test-openai.php放在网站可访问路径下,内容含new \OpenAI\Client("sk-...")和简单$client->chat()->create(...)调用 - 浏览器访问该脚本,观察是否返回 JSON 响应;若报 500,立即查
/www/wwwlogs/你的站点_error.log,重点看 cURL/SSL/JSON 相关错误
不复杂但容易忽略



















