Apache2最近将默认根目录从/ var / www更改为/ var / www / html,这打破了我为了安装我编写的一些软件而分发的脚本。 有一个可靠的方法来检测脚本,它是? 我更喜欢一个可以在Linux,BSD和MacOS上运行的合理的便携式解决scheme。
我想我可以检查的HTML子目录的存在,但这似乎不是很防弹。
我也想到了这个:
source /etc/apache2/envvars ; apache2 -S
这产生了实际上似乎错误的输出:
Main DocumentRoot: "/var/www"
实际上,这台机器上的根目录是/ var / www / html。
这将取决于您设置了多less个虚拟主机,但是您可以通过使用如下代码来猜测:
root=$(rgrep DocumentRoot /etc/apache2/ | awk '{print $NF}' | head -n 1) echo $root
这将find在/etc/apache2
下指定的DocumentRoot
设置,并打印第一个。
你可以很容易地使用这种方法来查看你是否find/var/www/html
任何提及,如果是的话。
如果您的脚本通过CGI或FastCGI调用,它应该在DOCUMENT_ROOT
环境variables中find文档根目录。