ホームページ >バックエンド開発 >PHPチュートリアル >ファイルは存在するがrequire_once(./*.php)でエラーが発生する問題の解決策

ファイルは存在するがrequire_once(./*.php)でエラーが発生する問題の解決策

黄舟
黄舟オリジナル
2017-06-25 11:25:4614809ブラウズ

問題の説明:

PMA をインストールしたところ、Firefox でアクセスするとホワイトボードが表示され、何も出力されません。 IEを使用すると500エラー(サーバー内部エラー)が表示されます

エラーレポートを開くと、

警告: require_once(./libraries/common.inc.php) [function.require-once]: failed toストリームを開く: ***mousebombpmaindex.php の 35 行目にそのようなファイルまたはディレクトリはありません

致命的なエラー: require_once() [function.require]: 必要な './libraries/common.inc.php' を開くことができませんでした (include) ***mousebombpmaindex.php の 35 行目の _path='. ;C:php5pear')

そして、ファイルは存在しており、IUSR (IIS 匿名アクセス ユーザー) にはアクセス許可があります。

解決策:

ホワイトボード解決策: php.iniの関連するエラー出力設定を変更する必要があるのは、デフォルトのphp.iniのみです。display_error=offをdisplay_error=onに変更する必要があります。

requireエラー解決策: 相対パスファイルの場合はすべて必要です。 ./ で始まる場合、上位ディレクトリの IUSR には読み取り権限が有効になっている必要があります。 PMA を設定するときだけでなく、どんな Web サイトでも、 wimp の下では、./ で始まるファイルにアクセスする場合は、上位のディレクトリで読み取れる必要があるという事実に注意する必要があります

関連文献:

PHPmyAdmin のインストール後、IE でアクセスすると次の状況が発生することがあります:

警告: require_once(./libraries/common.lib.php): ストリームを開けませんでした: そのようなファイルまたはディレクトリはありません***index.php の 40 行目
致命的なエラー: main(): * **index.php で必要な './libraries/common.lib.php' (include_path='.;c:php5pear') を開くことができませんでした40 行目

この問題の理由は次のとおりです:

1. PHPmyAdmin ディレクトリがディスクのルート ディレクトリに配置されています
2. PHPmyAdmin ディレクトリと上位ディレクトリの権限設定に問題があります。

解決策:

・PHPmyAdminディレクトリをD:SiteManagephpmyadminに配置するなど、ディスクのルートディレクトリに配置しないでください

・PHPmyAdminディレクトリと上位ディレクトリの権限を次のように設定します:
ユーザー 読み取りと実行
IUSR_… … 読んで実行してください

別の解決策:

----------------

奇妙な問題が発生しました。 phpmyadmin のインストール後、次のエラーが報告されます:

警告: require_once(./libraries/common.lib.php) [function.require-once]: ストリームを開けませんでした: No such file or directory in X:Xxxxxphpmyadminindex.php on 36 行目
致命的なエラー: require_once() [function.require]: 36 行目の X:Xxxxxphpmyadminindex.php で必要な './libraries/common.lib.php' (include_path='.;C:php5pear') を開くことができませんでした

Mysql データベース

を新しくインストールした Mysql5.2 にインポートし、BLog ホームページを開きますが、それでも上記と同様のエラーが報告されます。 しばらくデバッグした後、最終的に解決策を見つけました。 phpmyadmin および php インストール ディレクトリ内の上位の ACls だけでは不十分です (笑) !

phpmyadmin、php、およびそれらの上位レベルのディレクトリに同じ Acl ユーザー読み取り権限を与えてから、ブログを開いて正常に完了します。

注意事項とセキュリティリスク:
1. サイトまたは仮想ホストのルートディレクトリにphpmyadminをインストールしないでください。ゲストユーザーがルートディレクトリ権限を持つことになります。
2. phpmyadmin に IIS プロセス実行ユーザーと IIS 匿名ユーザーの読み取り権限を与えます。 ACL 権限リストに全員を追加しないことを強くお勧めします。
3. プログラムをデバッグするときやスクリプト環境を設定するときは、まずできるだけ多くの FAQ を読んでから、エラー コードから原因を見つけてください。(たとえば、上記のエラー メッセージの場合は、line を開きます) Index.php の 36 を参照し、PHP コードを確認してください。コマンドを実行すると、エラーの原因がわかります)

注ヒント:

1. phpmyadmin を解凍してルート ディレクトリにインストールしないでください。ゲスト ユーザーはルート ディレクトリの権限を持ちます。

2. phpmyadmin に iis ユーザー権限とユーザーグループのユーザー権限を与えます。全員の権限を追加することはお勧めできません。

——————————————

上記の2つの方法は考え方が同じなので、試してみてください

以上がファイルは存在するがrequire_once(./*.php)でエラーが発生する問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。