Apache不会从添加的VirtualHost开始,但在错误日志中没有错误

时间:2016-09-15 08:22:33

标签: apache virtualhost httpd.conf

我正在为Apache服务器使用EasyPHP(版本16.1.1)(已安装版本2.4.18 x86)。我需要添加一个新的VirtualHost,所以现在httpd.conf的整个VirtualHost部分看起来像这样:

# VIRTUAL HOSTS
## Virtualhost localweb
<VirtualHost 127.0.0.1>
DocumentRoot "C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www"
ServerName 127.0.0.1
<Directory "C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www">
    Options FollowSymLinks Indexes ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from 127.0.0.1
    Deny from all
    Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:8080>
UseCanonicalName Off
ServerAdmin marekbuchtela@gmail.com
ServerName posis
ServerAlias posis.tovarna
VirtualDocumentRoot "C:\Users\marek\is\tovarna\public"
</VirtualHost>

第一个是EasyPHP制作的默认选项,第二个是由我添加的。但是在这个设置中,Apache不会开始。当我删除第二个VirtualHost时,一切正常,但有了它,它根本就没有开始。我检查了错误日志,根本没有输出。

任何想法为什么会发生这种情况/如何解决? 感谢

2 个答案:

答案 0 :(得分:0)

切换VirtualDocumentRoot "C:\Users\marek\is\tovarna\public"

DocumentRoot "C:\Users\marek\is\tovarna\public"

如果您不断收到错误,请显示error_log输出

答案 1 :(得分:0)

除了ezra-s给出的答案之外,还有另一个例子,说明为什么EasyPHP服务器无法启动且Apache错误日志为空。

在vhosts文件中声明路径时,必须存在这些路径中引用的目录。如果您提供以下VirtualHost信息,例如:

<VirtualHost *:80>
    DocumentRoot "D:/MyApp/public_html"
    ServerName myapp.local
    ErrorLog "D:/MyApp/logs/error.log"
    CustomLog "D:/MyApp/logs/apache.log" common
</VirtualHost>

...但您没有D:驱动器,或者目录D:/MyApp/D:/MyApp/logs/不存在,那么您将获得“无声失败”从EasyPHP控制台启动HTTP服务器时的Apache。