PHPの拡張モジュール不足でデータが上手く表示されない対策

PHP Fatal error: Call to undefined function mb_strlen() in index.php:600

php-mbstring 拡張モジュールが新サーバーにインストールされていません。

PHP 8.3 の新規インストールでは mbstring が自動では入らないことがあります。mb_strlen() が呼ばれた瞬間に Fatal Error が発生し、そこで行のレンダリングが止まるため:

  • 1列目〜摘要・商品 → 表示される(mb_strlen の手前まで)
  • 合計金額・操作 → 表示されない(Fatal Error で停止)
  • 2行目以降 → ループが止まるため表示されない

修正方法(新サーバーで実行)

bash

# mbstring をインストール
sudo apt-get install php8.3-mbstring

# Apache を再起動
sudo systemctl restart apache2

Nginx の場合は:

bash

sudo systemctl restart nginx
sudo systemctl restart php8.3-fpm

インストール後の確認

bash

# mbstring が有効になったか確認
php -m | grep mbstring

mbstring と表示されれば完了です。


発注書(hatchusho_index.php)も同じ理由で同じ症状が出ていますので、この1コマンドで両方とも解決する

念のため、同じ環境で他にも不足している可能性のある PHP 拡張をまとめてインストールしておくことをお勧めします。

bash

sudo apt-get install php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip php8.3-gd php8.3-intl
sudo systemctl restart apache2
This entry was posted in 未分類. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *