PHP 致命的エラーで必要なファイルを開けません
P粉470645222
P粉470645222 2023-08-23 19:46:43
0
2
522
<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粉470645222
P粉470645222

全員に返信(2)
P粉683665106

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

リーリー
いいねを押す +0
P粉727531237

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

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

リーリー

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

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

の部分は

ドキュメント ルート

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

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

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート