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

生产环境Laravel Jetstream Filament面板仅能访问仪表盘问题求助

解决方案:Laravel Filament 报 "Class 'NumberFormatter' not found" 500错误

核心问题:NumberFormatter 是PHP intl 扩展提供的类,Filament 3.2的部分管理功能依赖该扩展,你的生产环境中该扩展未正确启用。以下是针对cPanel环境的具体解决步骤:

1. 确认当前网站绑定的PHP版本

  • 登录cPanel,打开 MultiPHP Manager,检查你的域名绑定的PHP版本是否为8.2.21。如果版本被意外切换,之前的扩展配置会直接失效。

2. 找到正确的PHP配置文件路径

  • 在项目根目录创建临时文件 info.php,内容如下:
    <?php phpinfo(); ?>
    
  • 访问该文件(比如yourdomain.com/info.php),找到 Loaded Configuration File 一行,记录下对应的ini文件路径(比如/opt/cpanel/ea-php82/root/etc/php.ini)。

3. 正确启用intl扩展

  • 不要使用Windows平台的php_intl.dll配置(你的生产环境是Linux服务器,动态库后缀为.so),正确的配置项是:
    extension=intl
    
  • 配置方式二选一:
    • 方式一:cPanel后台打开 MultiPHP INI Editor,选择对应PHP版本(8.2.21),在输入框中添加extension=intl,点击保存。
    • 方式二:通过文件管理器或SSH编辑刚才找到的ini文件,在末尾添加extension=intl,保存后重启cPanel中的 HTTP Server 或 PHP-FPM服务(在cPanel的"Restart Services"中操作)。

4. 验证扩展是否启用成功

  • 再次访问info.php,搜索关键词intl,如果能看到扩展的详细信息(如ICU版本、intl版本),说明启用成功。
  • 立即删除info.php(避免安全风险),然后测试Filament的文章、用户页面,500错误应该消失。

额外排查点

  • 如果上述操作后仍报错,说明服务器的PHP 8.2.21未安装intl扩展,联系主机商为该PHP版本安装intl扩展(部分cPanel服务器升级PHP后会遗漏该扩展)。
  • 执行composer dump-autoload刷新自动加载缓存,避免依赖加载异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:52:10