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

PHP升级至8.0后版本检测不一致问题咨询

PHP版本不一致问题排查方案

问题描述

  • Valet与Composer均显示当前使用PHP 8.0,但项目运行时抛出错误:

    Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.4.30. in /Users/admin/sites/sage10/web/app/themes/sage10/vendor/composer/platform_check.php on line 24

  • 升级Valet至PHP 8.0时出现弃用提示:

    Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/admin/.composer/vendor/illuminate/container/Container.php

需要排查的因素

  • Web服务器的PHP-FPM版本未切换:Valet依赖PHP-FPM处理Web请求,可能CLI版本切换成功但FPM仍停留在7.4。执行以下操作:
    1. 强制Valet切换到PHP 8.0:valet use php@8.0 --force
    2. 重启Valet服务:valet restart
    3. 检查PHP-FPM运行状态:brew services list,确认php@8.0-fpm处于started状态
  • CLI与Web环境的PHP路径不一致:终端的CLI PHP和Web服务用的PHP可能是不同路径的版本。
    1. 终端执行which php查看CLI版本路径
    2. 在项目根目录创建phpinfo.php,内容为:
      <?php phpinfo();
      
    3. 访问该文件,查看Loaded Configuration File的路径,对比是否与CLI版本路径一致
  • 项目本地版本配置文件干扰:部分项目会通过.php-version文件指定本地PHP版本,检查项目根目录是否存在该文件,若内容为7.4.30,修改为8.0即可
  • Composer缓存导致的平台信息过期:Composer可能缓存了旧的PHP版本检测结果,执行:
    1. 清除Composer缓存:composer clear-cache
    2. 重新安装依赖:composer install
  • 全局Composer依赖版本兼容问题:升级时出现的弃用提示是因为旧版本的illuminate/container不兼容PHP 8.0特性,执行composer global update更新全局Composer依赖即可消除该警告

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:10:51