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

InfinityFree部署Google OAuth2遇Composer版本及文件缺失错误求助

问题解决思路

1. 解决PHP版本不兼容核心问题

如果InfinityFree控制台支持切换PHP版本,优先将服务器PHP版本升至8.0及以上,无需调整依赖即可直接兼容,这是最优解决方案。

  • 不要直接修改platform_check.php的版本标识,该操作仅跳过版本校验,没有解决依赖本身不支持PHP7.4的根本问题,必然会引发后续文件缺失、语法报错等连锁问题。
  • 你本地开发环境PHP版本大概率>=8.0,执行composer install时安装的依赖都是适配PHP8+的版本,其中你引入的league/oauth2-google:^4.0本身就要求PHP>=8.0,部署到PHP7.4的服务器上自然无法运行。
  • 若无法升级服务器PHP版本,需要指定Composer安装适配PHP7.4的依赖版本,修改composer.json如下:
{
    "require": {
        "google/apiclient": "2.10",
        "symfony/var-dumper": "^5.4",
        "league/oauth2-google": "^3.0"
    },
    "config": {
        "platform": {
            "php": "7.4.8"
        }
    }
}
  • 修改完成后删除本地的vendor目录、composer.lock文件,重新执行composer install,此时安装的所有依赖均为适配PHP7.4的版本。

2. 修复文件加载报错问题

  • 之前的guzzlehttp/psr7相关文件缺失报错,是因为高版本的guzzlehttp/psr7目录结构和低版本不同,你跳过版本校验后,自动加载机制依然按照高版本的文件路径查找文件,自然找不到对应文件。
  • 按照上一步骤重新安装适配PHP7.4的依赖后,完整上传新的vendor目录、composer.json、composer.lock到服务器,上传时建议开启二进制传输模式,避免部分文件传输丢失、损坏。

3. 修正代码配置问题

  • 你当前config.php中的回调地址$redirect为本地地址http://localhost/test/login.php,部署到线上后需要修改为你InfinityFree站点的实际回调地址,否则Google OAuth授权后会跳转失败,无法拿到授权code。
  • 修正拼写错误:$cilentId拼写错误,应为$clientId,避免后续维护时出现参数传递问题。

4. 上线验证流程

  • 上传完成后先访问站点,确认无版本报错、文件加载报错。
  • 点击Google登录按钮,验证跳转授权、回调拉取用户信息的流程是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:45:01