Laravel部署SiteGround遇Carbon\Carbon::setLastErrors()类型错误
Laravel部署SiteGround共享主机出现Carbon类型错误的解决方案
将Laravel API部署到SiteGround共享主机,已完成修改public目录为public_html、设置storage软链等操作,访问临时域名时触发以下错误:
Carbon\Carbon::setLastErrors(): Argument #1 ($lastErrors) must be of type array, bool given, called in /home/customer/www/bassemb5.sg-host.com/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php on line 98
当前public/index.php已添加绑定:
$app->bind('path.public', fn() => base_path('/public_html'));
解决方案
检查PHP版本兼容性
登录SiteGround控制面板查看当前PHP版本,确保其与Laravel项目要求的版本匹配(例如Laravel 9要求PHP 8.0+,Laravel 10要求PHP 8.1+)。若版本不匹配,在面板中切换到符合要求的PHP版本。更新Carbon依赖
该错误通常是Carbon版本与PHP版本不兼容导致的,执行以下命令更新Carbon到兼容版本:composer update nesbot/carbon操作时需先进入项目根目录。
清除应用缓存
运行以下命令清除配置、路由及缓存文件:php artisan cache:clear php artisan config:clear php artisan route:clear验证时区配置
检查.env文件中的APP_TIMEZONE设置,确保值为有效时区(如Asia/Shanghai、UTC),避免无效时区导致Carbon初始化异常。重新生成依赖
若vendor目录上传不完整或依赖安装异常,重新执行依赖安装:composer install --no-dev --optimize-autoloader
内容的提问来源于stack exchange,提问作者Jagarkin
相关产品推荐
相关产品推荐

