この構文エラーを修正するにはどうすればよいですか:
AH00526: Syntax error on line 4 of /etc/Apache2/envvars:
Invalid command 'unset', perhaps misspelled or defined by
a module not included in the server configuration
バックグラウンド:
起動するたびにエラーが発生します。私はそれがこの問題に関連していると思います、同じエラー:
buntu 14.04へのアップグレード後にApacheが機能しないのはなぜですか?
$ cat apport.log.1
ERROR: apport (pid 2081) Tue Dec 16 10:09:06 2014: called for pid 22820, signal 11, core limit 0
ERROR: apport (pid 2081) Tue Dec 16 10:09:06 2014: executable: /usr/sbin/Apache2 (command line "/usr/sbin/Apache2 -k start")
ERROR: apport (pid 2081) Tue Dec 16 10:09:06 2014: is_closing_session(): no DBUS_SESSION_BUS_ADDRESS in environment
ERROR: apport (pid 2081) Tue Dec 16 10:09:09 2014: wrote report /var/crash/_usr_sbin_Apache2.0.crash
1人だけがenvvarsファイルに言及しているのは奇妙に思えます。未定義の変数はすべてそこにあるので、私が持っている質問は、なぜenvvarsがロードされないのか、ロードが遅すぎるのでしょうか?
追加した
Include envvars
/etc/Apache2/Apache2.conf@57(Mutex行の前)に再実行
/usr/sbin/Apache2 -k start
ログに見られるように(Apacheを起動するこの方法は推奨されていません。どのスクリプトがこれを呼び出すかわかりません(/usr/sbin/Apache2
)、しかし、それが他の後続のスクリプトの実行を妨げているため、窒息を止めるためにapportが必要です)、私は問題の原因だと思う構文エラーを取得します:
AH00526: Syntax error on line 4 of /etc/Apache2/envvars:
Invalid command 'unset', perhaps misspelled or defined by
a module not included in the server configuration
では、この構文エラーの修正は何ですか?
Ubuntu 14.04(3.13.0-43-generic)サーバーバージョン:Apache/2.4.7(Ubuntu)apport-cli -v 2.14.1
更新:これは私のenvvarsファイルです。すべて在庫があると思います。
# envvars - default environment variables for Apache2ctl
# this won't be correct after changing uid
unset HOME
# for supporting multiple Apache2 instances
if [ "${Apache_CONFDIR##/etc/Apache2-}" != "${Apache_CONFDIR}" ] ; then
SUFFIX="-${Apache_CONFDIR##/etc/Apache2-}"
else
SUFFIX=
fi
# Since there is no sane way to get the parsed Apache2 config in scripts, some
# settings are defined via environment variables and then used in Apache2ctl,
# /etc/init.d/Apache2, /etc/logrotate.d/Apache2, etc.
export Apache_RUN_USER=www-data
export Apache_RUN_GROUP=www-data
# temporary state file location. This might be changed to /run in Wheezy+1
export Apache_PID_FILE=/var/run/Apache2/Apache2$SUFFIX.pid
export Apache_RUN_DIR=/var/run/Apache2$SUFFIX
export Apache_LOCK_DIR=/var/lock/Apache2$SUFFIX
# Only /var/log/Apache2 is handled by /etc/logrotate.d/Apache2.
export Apache_LOG_DIR=/var/log/Apache2$SUFFIX
## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale
export LANG
## The command to get the status for 'Apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export Apache_LYNX='www-browser -dump'
## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#Apache_ULIMIT_MAX_FILES='ulimit -n 65536'
## If you would like to pass arguments to the web server, add them below
## to the Apache_ARGUMENTS environment.
#export Apache_ARGUMENTS=''
## Enable the debug mode for maintainer scripts.
## This will produce a verbose output on package installations of web server modules and web application
## installations which interact with Apache
#export Apache2_MAINTSCRIPT_DEBUG=1
envvars
は、Apache2.conf
に含まれるApache構成ファイルではありません。あなたはそのファイルがストックであることは正しいですが、あなたの追加
Include envvars
Apache2.conf
への在庫はほとんどありません。そのファイルは、Apache2 initスクリプト(/etc/init.d/Apache2
)によって供給されます(実際には数回)。修正はnotを含めることです。
これは answer 同様の質問に対する回答でしたが、$ HOMEなどのユーザーレベルのenv変数を破壊しました。
source /etc/Apache2/envvars
Apache2 -V
Sudo service Apache2 restart
私は現在、両方の問題に対するクリーンなソリューションを探しています。