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

PHP 致命的エラーで必要なファイルを開けません

<p>Apache から次のエラーを受け取りました</p> <p><strong>[Sat Mar 19 23:10:50 2011] [警告] mod_fcgid: stderr: PHP 致命的エラー: require_once() [function.require]: 必要な '/common' /configs/ を開けませんconfig_templates.inc php' (include_path='.:/usr/share/pear:/usr/share/php') /home/viapi​​cs1/public_html/common/configs/config.inc.php 行 158</strong>< /p> ; <p>私は Apache の専門家ではありませんが、config.inc.php と config_templates.inc.php というファイルは存在します。また、common/configs/ にある test.html ページに移動してみたので、権限の問題は発生していないと思います。また、config_templates.inc.php にアクセス許可を設定して、全員に読み取り、書き込み、および実行のアクセス許可を与えます。この時点で何をすべきか分からず、/usr/share/php ディレクトリがあるかどうかを確認したところ、存在しないことがわかりました。しかし、yum install php を実行すると、最新のものがあると表示されました。アイディアがある? </p>
P粉470645222P粉470645222395日前433

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

  • P粉683665106

    P粉6836651062023-08-24 11:50:35

    SELinux を実行している場合は、/home ディレクトリからデータを読み取るために httpd 権限を付与する必要がある場合があります。

    リーリー

    返事
    0
  • P粉727531237

    P粉7275312372023-08-24 09:24:51

    これは実際には Apache 関連の問題ではありません。 PHP関連でもありません。 このエラーを理解するには、仮想サーバー 上のパスと ファイルシステム 内のパスを区別する必要があります。

    require 演算子はファイルに適用されます。しかし、そのような道

    リーリー

    仮想 HTTP サーバー上にのみ存在し、ファイル システムにはパスが存在しません。正しいファイル システム パスは

    です。 リーリー ###どこ### リーリー

    の部分は

    ドキュメント ルート

    と呼ばれ、仮想世界と現実世界を接続します。幸いなことに、Web サーバーは通常、ドキュメント ルートを PHP と共有する構成変数に置きます。コードを次のように変更すると リーリー

    任意のディレクトリ内の任意のファイルから実行できます。

    更新: 最後に、システムおよび Web サーバー上のファイル

    相対パスと絶対パスの違いを説明する記事を書き、問題を詳細に説明し、いくつかの実用的な解決策を含めました。たとえば、コマンド ラインからスクリプトを実行する場合、このような便利な変数は存在しません。この場合、「シングルエントリーポイント」と呼ばれる手法で問題を解決できます。詳細については上記の記事も参照してください。

    返事
    0
  • キャンセル返事