#「致命的なエラーを解決する方法: require(): 必要な 'data/tdk.php' を開くことができませんでした (include_path='.;C:phppear')」
最近、一部の PHP 開発者が開発プロセス中に厄介な問題に遭遇しました。PHP コードで require() 関数を使用して必要なファイルをロードすると、次のエラーが表示されます:
fatal error: require(): Failed opening required 'data/tdk.php' (include_path='.;C:phppear')
ログイン後にコピー
This エラーは次のとおりです。通常、include_path の値が原因で発生します。 include_path の機能は、PHP プログラムが必要なファイルを検索するパスを指定することです。
この問題を解決するには、いくつかの方法があります。
フル パスを指定します。
最も簡単な解決策は、フル パスを使用して必要なファイルをロードすることです。書類。たとえば、上記のエラーの data/tdk.php がサーバー内のどのディレクトリにあるかがわかっていれば、フルパスを使用して置き換えることができます。例:
require('/var/www/html/project/data/tdk.php');
ログイン後にコピー
このようにして、PHP プログラムは必要なファイルを直接見つけて、それを正しくロードできます。
しかし、この方法には欠点があります。つまり、異なるサーバーでプログラムをテストまたは実行する必要がある場合、パスが異なるため、常にパスを変更する必要があり、非常に面倒です。
include_path の値を変更する
もう 1 つの方法は、PHP 構成ファイル php.ini の include_path の値を変更することです。 php.ini ファイルを開き、その中の include_path 項目を見つけて、複数のパスをセミコロンで区切ります。例:
include_path = ".:/usr/lib/php:/usr/local/lib/php:/path/to/your/files"
ログイン後にコピー
このようにして、PHP プログラムはこれらのパスで必要なファイルを順番に検索します。 /data ディレクトリにいる場合は、include_path に追加できます:
include_path = ".:/usr/lib/php:/usr/local/lib/php:/path/to/your/files:/data"
ログイン後にコピー
php.ini ファイルを変更した後、PHP サービスを再起動すると、必要なファイルを通常どおりロードできます。
__DIR__ 定数を使用する
PHP には、現在のスクリプトが配置されているディレクトリを表す __DIR__ 定数が用意されています。 (PHP5.3.0 より前では dirname(__FILE__) を使用してください) これを使用すると、上記の問題を解決できます。つまり、コード内で相対パスを使用できます。例:
require(__DIR__ . '/data/tdk.php');
ログイン後にコピー
このようにして、プログラム全体をどのパスにコピーしても、PHP プログラムは必要なファイルを正しく使用できます。
概要:
実際の状況に応じて、この問題を解決するには、上記の 3 つの方法のいずれかを選択できます。個人開発プロジェクトの場合は、3 番目の方法を使用できます。複数の人と共同で開発している場合、または異なるサーバーでプログラムを実行している場合は、2 番目の方法を使用することをお勧めします。 PHP 構成ファイルを変更したくないが、毎回ファイルをロードするためにフルパスを使用したくない場合は、最初の方法を使用できます。
どの方法を使用する場合でも、ファイル パスの大文字小文字とファイル名の正確さに注意する必要があります。これらがこのエラーの原因となる可能性があります。正しい方法を選択することで、必要なファイルを正しくロードし、プログラムを適切に実行できるようになります。
以上が致命的なエラーを解決する方法: require(): 必要な 'data/tdk.php' を開くことができませんでした (include_path='.;C:\php\pear')の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。