最近、WordPress のテンプレート関数を開発しているときに、include ("ファイル名") を直接使用して他の PHP コード スニペットを呼び出すとパス エラーが発生することがわかりました。サーバー環境は以前からずっとiisで、同様のバグは発生していませんでしたが、linuxサーバーに切り替えてからパス呼び出しエラーが発生しました。インターネットで検索したところ、Linux サーバー配下のファイルを含める場合のパス エラーを解決するために呼び出すときに dirname(__FILE__) を使用できることがわかりました。
実際、主な問題は、linxu サーバーの下にあるサイトのルート ディレクトリにあります。ファイルが Linux サーバーの下に含まれている場合、そのパスは /home/web/ です。 include("/filename") 形式を直接使用する場合、実際にインクルードされるファイル パスは /home/web/filename になります。
完全な使用方法は include dirname(__FILE__) です
このコードが参照するファイルは、コードが配置されているファイルと同じディレクトリにある必要があります。上位ディレクトリを呼び出す必要がある場合は、dirname(dirname(__FILE__)) を使用して上位ディレクトリ内のファイルを呼び出すことができます。 。
Web サイトのサーバーを変更した後にインクルードの問題が発生した場合は、Web サイトに参照パスのエラーがあるかどうかを確認してください。ほとんどの場合、参照の問題を解決するには、PHP インクルードを作成するときに dirname(__FILE__) メソッドを使用してファイルを参照することをお勧めします。