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

Laravel Habits表Seeder执行报错:Call to undefined function Termwind\ValueObjects\mb_strimwidth()

解决Seeder执行时的"Call to undefined function Termwind\ValueObjects\mb_strimwidth()"错误

这个错误的核心原因是PHP环境未启用mbstring扩展,Laravel CLI依赖的Termwind库需要该扩展提供的mb_strimwidth函数处理多字节文本。

解决步骤

Windows环境(XAMPP/WAMP)

  • 打开PHP配置文件php.ini
  • 找到;extension=mbstring行,移除开头的分号;
  • 重启Web服务器或PHP-FPM服务

Linux(Ubuntu/Debian)

执行以下命令安装并启用扩展:

sudo apt-get install php-mbstring
sudo systemctl restart php8.2-fpm # 根据你的PHP版本调整,如php8.1-fpm

Linux(CentOS/RHEL)

执行以下命令安装并启用扩展:

sudo yum install php-mbstring
sudo systemctl restart php-fpm

额外代码修正提示

你的HabitsSeeder代码存在变量大小写不一致的问题:定义的变量是$Habits(大写H),但循环中使用的是$habits(小写h),这会触发变量未定义错误。修正后的代码如下:

public function run()
{
    $habits = [
        '🙂Good' => ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
        '😐Neutral' => ['k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 't'],
        '☹️Bad' => ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
    ];
        
    foreach ($habits as $habit_category => $names) {
        foreach ($names as $name) {
            DB::table('habits')->insert([
                'name' => $name,
                'category' => $habit_category
            ]);
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:41:29