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

PHP が DOMDocument を使用するように正しく設定されているかどうかを適切に確認するにはどうすればよいですか?

<p>DOMDocument を使用するスクリプトがあります。環境によっては、モジュールがロードされていないことが原因で失敗することがあります。私がしたいのは、このスクリプトのユーザーにこの問題を修正するためのガイダンスを提供することです。 </p><p>問題を再現する最小限のスクリプトは次のとおりです。</p><p><br /></p> <pre class="brush:php;toolbar:false;"><?php エコー「開始!」; 試す { $doc = 新しい DOMDocument(); } catch (例外 $e) { エコー「キャッチ」; } エコー「終了」; ?></pre> <p> ブラウザ (Nginx を含む現在のサーバーによって提供される) で開くと、「start!」だけが表示されます (戻りコード 500。try..catch を省略しても、出力は同じです)。したがって、問題は、正しいモジュールがインストールされているかどうかを検出するだけでなく(確認するには extension_loaded('dom') を使用する必要がありますか?)、try..catch が機能しないように見えることもあります(出力; 現在の場合、PHP 7.4.3 を使用しています)。 <br /><br />この状況に適切に対処する方法について何か提案はありますか? </p>


P粉898049562P粉898049562470日前477

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

  • P粉973899567

    P粉9738995672023-07-31 16:50:19

    クラスが見つからない場合、エラーが発生します。このクラスは Exception を継承しないため、コードは例外をキャッチできません。

    次のコードでこの問題を解決できます:


    リーリー ###または:### リーリー

    もちろん、extension_loaded('dom') を直接使用して、拡張機能が利用可能かどうかを検出することもできます。

    返事
    0
  • P粉546257913

    P粉5462579132023-07-31 16:03:24

    class_exists() 関数を使用して、クラスが存在するかどうかをテストできます。例えば:############ リーリー

    返事
    0
  • キャンセル返事