ホームページ >バックエンド開発 >PHPチュートリアル >win2003環境でDISCUZが/include/commonincphpにアクセスできない問題の究極の解決策

win2003環境でDISCUZが/include/commonincphpにアクセスできない問題の究極の解決策

WBOY
WBOYオリジナル
2016-07-29 08:47:20842ブラウズ

このサイトからのメモ:
理論的には、次の方法が可能ですが、PHP の設定が正しいことを確認する必要があります。discuz プログラムおよび関連するサーバー関連ソフトウェアについては、新しいバージョンを使用することをお勧めします。 s.jb51.net のダウンロードにアクセスできます。
フォーラムでは、過去 2 日間にエラー メッセージが頻繁に報告されています
警告: require_once(./include/common.inc.php) [function.require-
once]: ストリームを開けませんでした:
E にそのようなファイルまたはディレクトリはありません: hostaydswindex.php 12 行目
致命的エラー: require_once() [function.require]:
E:hosaydswindex の必須
'./include/common.inc.php' (include_path='.;C:php5pear') を開くことができませんでした12行目の.php
ネットで調べたところ、フォーラムが使用できるかどうかわかりませんが、権限が取り消されているようです。
解決策 1:
実際、この問題はそれほど複雑ではありません。この問題は、ディレクトリのアクセス許可の問題が原因で発生します。
2003 年の権限設定が通常わかりにくいことは誰もが知っています。
その解決策は次のとおりです:
例:
ゲスト ユーザー (または指定したユーザー) にのみ BBS ディレクトリにインターネット アクセス権を与える場合、フォーラムは WEBROOT の BBS ディレクトリに配置されます。また、親ディレクトリの場合は BBS に配置されます。 webroot に
INTERNET ゲスト ユーザー (または指定したユーザー) のアクセス権がない場合、上記の問題が発生します。
WEBROOT ディレクトリ (フォーラム ディレクトリの上位ディレクトリ) にインターネット ゲスト権限 (または
指定したユーザー) を与えるだけで、問題は解決します。
その理由は、すべての PHP ファイルの公式の ./include/ を include/ に変更することで解決できます
ただし、それらを 1 つずつ置き換えることはできません。私の個人的な解決策は、親ディレクトリを作成することです。
解決策 2:
このサーバーはシステムを再インストールしました
win で php mysql を設定しましたが、dz (Discuz) フォーラムにアクセスすると、次のエラーが表示されます:
警告: require_once() [function.require-once]: アクセスできません
./include/common.inc.php (E:mysiteceshiindex.php の 12 行目)
警告: require_once(./include/common.inc.php) [function.require-
once]: ストリームを開けませんでした: そのようなものはありません
E:mysiteceshiindex.php の 12 行目のファイルまたはディレクトリ
致命的なエラー: require_once() [function.require]: 必要なオープンに失敗しました
'./include/common.inc.php' (include_path='d:/php5/
E:mysiteceshiindex.php の 12 行目には問題はありません。
最終的に解決するまでに長い時間がかかりました。
問題は次のとおりです。 1. IIS6.0 で親パスが有効になっていますか?
2. アクセス許可の問題により、ユーザーにアクセス許可が与えられます (コンピューターのディレクトリにもアクセス許可が必要であることに注意してください。そうでないと、この問題が発生します)
その他の参考資料:
フォーラムを自分の場所に移動しました。サーバーは win2003+iis+php+mysql ですが、フォーラムにアクセスすると、常に次のメッセージが表示されます:
警告: require_once() [function.require-once]: ./include/common.inc にアクセスできません。 E:im286index.php の 12 行目の php
警告: require_once(./ include/common.inc.php) [function.require-once]: ストリームを開けませんでした: E:im286index.php にそのようなファイルまたはディレクトリはありません12 行目
致命的なエラー: require_once() [function.require]: 12 行目の E:im286index.php で必要な './include/common.inc.php' (include_path='d:/php5/includes') を開くことができませんでした
方法 1: インターネット上で Google Baidu を調べて、この問題が本当に発生するかどうかを確認します。 ./include/ を include/ に変更することで問題は解決しましたが、長い間苦労した結果、読み込みは常に失敗しました。それは権限の問題であることがわかり、veryone 権限を設定しましたが、すべて問題ありませんでした。最後に、IIS を有効にする必要があることを皆さんに伝えます。
方法 2:
1. IIS6.0 で親パスが有効になっていますか?
2. アクセス許可の問題により、ユーザーにアクセス許可が与えられます (コンピューターのディレクトリにもアクセス許可が必要であることに注意してください。そうでないと、この問題が発生します)。権限の問題で、上位ディレクトリのみに全員の読み取り権限を追加しましたが、非常に時間がかかり、待ちきれなかったのでやめました。ディレクトリを e:im286bbs に変更し、全員に読み取り許可と上位ディレクトリへのアクセスを与えます。プロンプト:
入力ファイルが指定されていません。
方法 4:
検索。1 つの方法は、php.ini の doc_root= をコメントアウトすることです。コメントアウトされていることを確認しましたが、問題ではありません。2 番目は、IIS がこのサイト用に新しいアプリケーション プールを作成し、それが機能するかどうかを確認するためのものです。上位ディレクトリのEveryone読み取り権限を削除し、再度更新すると、これに関連していると思われます。
方法5:
これは私にも起こります。問題を長時間検索しても結果がありませんでした。(./include/common.inc.php) を変更しようとしましたが、結果は成功しました。問題がある場合は、次のようにしてください。試してみてください!
common.inc.php 内のすべての './' を '/ に変更します (真ん中のドットを削除するだけです)
方法 6: 究極の解決策
他のプログラムは正常だが、一部の PHP システムにのみ問題がある場合たとえば、phpmyadmin 内にある限り、現在のディレクトリは d:werrootphpmyadmin です。そのディレクトリ内に別のディレクトリ web を作成し、iis 内のパスを d:werrootphpmyadminweb として見つけて問題を解決します。これは、プログラム内での ./ の使用に問題があるはずです。

上記は、win2003 環境で DISCUZ が /include/commonincphp にアクセスできない問題に対する究極の解決策を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

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