41

xampp ポータブル サーバーを使用していますが、Apache http サーバーで問題が発生しています。「ServerRoot は有効なディレクトリである必要があります」と表示されます。

コマンドライン出力:

Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 35 of K:/../../../xampp/apache/conf/httpd.conf: ServerRoot must be a valid directory

Apache could not be started

xampp/apache/conf/httpd.conf の 35 行目を確認したところ、次のようになりました。

ServerRoot "/xampp/apache"

これは存在しません。私のフォルダは次のとおりです。

K:/../../../xampp/apache/conf     <- where the httpd.conf is
K:/../../../xampp/apache/         <- the server root
K:/../../../xampp/apache/modules  <- where server modules are

(35行目で)変更すると

ServerRoot ".."

それは言います:

Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 65 of K:/../../../xampp/apache/conf/httpd.conf: Cannot load modules/mod_access_compat.so into server: Unable to find the specified module

Apache could not be started

確認したところ、modules/mod_access_compat.so が存在するため、修正方法がわかりません。

どんな助けでも大歓迎です

4

14 に答える 14

4

エディターを開いて、エラー メッセージ (ファイル内httpd.conf) に示されている正確な行にジャンプすると、次のように表示されます。

#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so

たとえば、モジュールへのパス modules/mod_actions.soはすべて相対的に記述されており、によって設定された値に相対的ServerRootです。(ctrl-F for )ServerRootの上部で定義されます。httpd.confServerRoot "

ServerRoot は通常K:/../../../xampp/apache/、投稿にある絶対に設定されています。

ただし、作業ディレクトリに対して相対的に設定することもできます(参照)。作業ディレクトリが Apachebinフォルダーの場合は、次の行を で使用しますhttpd.conf

ServerRoot ../

作業ディレクトリが Apache フォルダの場合、これで十分です。

ServerRoot .

作業ディレクトリが C: フォルダー (Apache フォルダーの 1 つ上のフォルダー) である場合は、次を使用します。

ServerRoot Apache

Apache サービスの場合、作業ディレクトリは になるのでC:\Windows\System32、これを使用します。

ServerRoot ../../Apache
于 2016-04-11T17:07:05.987 に答える
1

実際のバージョンを使用する場合は、ルート ディレクトリに「setup_xampp.bat/.sh」スクリプトがあります。パスは絶対パスである必要がありますが、スクリプトは必要なすべてのパスを現在の場所に変更します。

于 2013-07-26T08:24:08.713 に答える
1

"setup_xampp.bat/.sh" を実行し、最後に "\" を削除します。したがって、ServerRoot は "C:.....\apache" NO "C:.....\apache\"のようになります。

于 2016-05-20T05:22:42.257 に答える
1

ServerRoot は絶対である必要があると思います。「/apache/docroot」のようなものを使用してください

于 2013-01-27T18:29:46.260 に答える
1
  1. XAMPPディレクトリに移動すると、 apacheというフォルダーが見つかります。それを開き、そのパスをコピーします。私のパスは " D:\Hacking Tools 2\Programs\XAMPP V2\apache "です。
  2. テキスト エディタでapache\conf\httpd.confを開きます。
  3. 30 ~ 40 行目まで下にスクロールします
  4. 次のようなコードが見つかります。ServerRoot "xampp\apache"
  5. ここで、ステップ 1で述べたように、Apache ディレクトリに変更します。私のパスは「D:\Hacking Tools 2\Programs\XAMPP V2\apache」なので、私のコードは次のようになります。ServerRoot "D:\Hacking Tools 2\Programs\XAMPP V2\apache"
  6. 次のようになります。ServerRoot "D:\XAMPP\apache"
  7. XAMPPのメイン ディレクトリに戻り、xampp_start.exeを実行します。

私にとってはうまくいきましたが、うまくいかない場合は、xampp_start.exeを開いた後にエラー値をコメントしてください

于 2016-05-02T13:30:46.520 に答える
0

xampp/apache/conf/httpd.conf の 35 行目を確認したところ、次のようになりました。

サーバールート「/xampp/apache」

これは存在しません。...

ディレクトリを作成するか、ハイパーテキスト ドキュメントを含むディレクトリへのパスを変更します。

于 2018-01-03T11:50:42.003 に答える