owner@G700:/var/www/wptest1$ apache2 --version
[Fri Mar 15 01:29:11.505305 2019] [core:warn] [pid 4929]
AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid
directory, absolute or relative to ServerRoot
owner@G700:/var/www/wptest1$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-10-10T18:59:25
我在 Lubuntu 18.04 上。我已经删除/清除并安装,并重新启动了 apache2 大约 10 次,试图修复此问题(因为它可能与 php 不工作/php 文件在浏览器中显示原始代码有关)。
答案1
主要错误是:
AH00111: Config variable ${APACHE_RUN_DIR} is not defined
您应该尝试通过启动/停止脚本运行 apache /etc/init.d/apache2
,而不是直接运行二进制文件。脚本应该从 导出所需的所有环境变量/etc/apache2/envvars
。
尝试:
# service apache2 restart
请参阅此处的解释:
https://serverfault.com/questions/558283/apache2-config-variable-is-not-defined
我可以重现你的错误:
root@efk:~# service apache2 stop
root@efk:~# /usr/sbin/apache2 --version
[Thu Mar 14 20:54:17.111349 2019] [core:warn] [pid 28733]
AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to
ServerRoot
root@efk:~# service apache2 start
root@efk:~# apachectl --status
httpd (pid 28782) already running
root@efk:~# service apache2 stop
root@efk:~# /etc/init.d/apache2 start
[ ok ] Starting apache2 (via systemctl): apache2.service.
root@efk:~# apachectl --status
httpd (pid 28966) already running
因此,显然必须apache2
通过 init 脚本调用 ,而不是直接调用二进制文件。现在,通过调用 init 脚本,我可以确认它是否以 或 的方式工作/etc/init.d/apache2 start
。service apache2 start
两者都通过命令启动守护进程systemctl
。