検索

ホームページ  >  に質問  >  本文

致命的なエラー: クラス 'NumberFormatter' が見つかりません

<p>私はこれと全く同じコードを長年使用してきましたが、一度も問題はありませんでした。突然動作しなくなりました。 </p> <p>この問題についてインターネットで読んだところ、<code>PHP 5.3 以降</code> をインストールするとともに、<code>PHP intl</code> プラグインをインストールする必要があるようです。両方持っていますが、以下の関数を使用するたびに、「<code>致命的エラー: クラス 'NumberFormatter' が見つかりません」エラーが発生します</code>:</p> <pre class="brush:php;toolbar:false;">function format_item($value) { $format = new NumberFormatter('en_US', NumberFormatter::CURRENCY); return $format->formatCurrency($value, 'AUD'); }</pre> <p>また、これは <code>PHP intl</code> プラグインがインストールされていることを示す <code>php.ini</code> ファイルの一部です。</p> <pre class="brush:php;toolbar:false;">[intl] intl.default_locale = fr_FR ; このディレクティブを使用すると、何らかのエラーが発生したときに PHP エラーを生成できます。 ; intl 関数内で発生します。値は生成されるエラーのレベルです。 ; デフォルトは 0 で、エラーは発生しません。 intl.error_level = E_WARNING</pre> <p><code>php.ini</code> に <code>extension=php_intl.dll</code> も追加しました。これも私のディレクトリにあります。 </p> <p>このエラーが発生するのはなぜですか? </p>
P粉817354783P粉817354783471日前559

全員に返信(2)返信します

  • P粉409742142

    P粉4097421422023-08-17 14:47:15

    必要なものは次のとおりです:

    リーリー

    php.ini を変更したり、他に何もする必要はありません。 (PHP 7 を備えた Ubuntu 16.04 でテスト済み)。

    ここで最も一般的な答えは、.dll ファイルのコメントを解除するというものですが、Windows サーバーを使用している場合を除き、これでは何も解決されません。

    返事
    0
  • P粉237029457

    P粉2370294572023-08-17 12:07:58

    これは非常に奇妙な問題のようですが、私は次の方法で解決しました。

    私は この チュートリアルを通じて Wamp の PHP をアップグレードしました。 php.ini のタイムゾーン設定も更新しました。アップグレードしたらうまくいかなかったので、以前の PHP バージョンに戻したら問題は解決しました。

    なぜこれで問題が解決するのかまったくわかりませんが、私にとってはうまくいきました。

    返事
    0
  • キャンセル返事