我正在为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时,一切正常,但有了它,它根本就没有开始。我检查了错误日志,根本没有输出。
任何想法为什么会发生这种情况/如何解决? 感谢
答案 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。