ホームページ >バックエンド開発 >PHPチュートリアル >php cli モードでファイルを実行する場合、必要なロード パスが間違っています。
今日、同僚が突然、スケジュールされたタスクを実行するために作成した PHP スクリプトが常に実行に失敗すると言いました。
スクリプト自体は非常に単純で、いくつかのライブラリファイルが含まれており、関数にエラーはないはずです。この関数は他の場所で呼び出されており、問題はありません。ブラウザを使用してローカルでページにアクセスしましたが、同僚のスケジュールされたタスクに問題はなかったようです。コマンドラインを再度開き、php を使用してスクリプトを直接実行すると、require に含まれるファイルのエラーが報告されました。
原因は分かりませんが、エラーレポートを見る限り、パスが間違っているようなので、相対パスを全て絶対パスに変更しました。その後、再度実行すると問題は解決しました。
Baiduで検索したところ、PHPでスクリプトを実行する際、スクリプトが実行される場所が現在PHPコマンドを実行しているパスとなるため、相対パスが間違っていることが分かりました。問題を解決するには 2 つの方法があります:
まず、絶対パスを使用します。これはさらに面倒です。いずれかのファイルが間違っていると、エラーが発生する可能性があります。実行ファイル比較 簡易の場合に利用可能です。
2. chdir関数を使用して、現在の実行ディレクトリをファイルが配置されているディレクトリに変更します, chdir(dirname(__FILE__));
上記は php cli モードでの実行可能ファイルを紹介しています。require の読み込みパスが間違っています。PHP チュートリアルに興味のある友人に役立つことを願っています。