Par*_*ora 72 php apache xampp zend-framework virtualhost
我确信这个问题被多次询问,但我没有遇到问题.我正在使用XAMPP配置Zend框架.
XAMPP正在端口8081上运行,因为80正被某些Windows进程占用,我需要使用虚拟主机,我使用以下代码C:/xampp/apache/config/extra/httpd-vhosts.config
(或C:/xampp/apache/conf/extra/httpd-vhosts.conf
在较新的版本中)进行配置.
<VirtualHost *:80>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public"
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
并更新hosts文件127.0.0.1 comm-app.local
并尝试重新启动apache但它显示错误.
15:03:01 [Apache] Error: Apache shutdown unexpectedly.
15:03:01 [Apache] This may be due to a blocked port, missing dependencies,
15:03:01 [Apache] improper privileges, a crash, or a shutdown by another method.
15:03:01 [Apache] Press the Logs button to view error logs and check
15:03:01 [Apache] the Windows Event Viewer for more clues
15:03:01 [Apache] If you need more help, copy and post this
15:03:01 [Apache] entire log window on the forums
Run Code Online (Sandbox Code Playgroud)
Ste*_*ini 63
我看到两个错误:
<VirtualHost *:80> -> Fix to :8081, your POrt the server runs on
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public" -> This is probably why it crashes, missing >
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
-> MIssing close container: </VirtualHost>
Run Code Online (Sandbox Code Playgroud)
固定版本:
<VirtualHost *:8081>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
有一点需要提及:
您始终可以尝试运行命令:
service apache2 configtest
Run Code Online (Sandbox Code Playgroud)
这将告诉您何时遇到格式错误的配置,甚至可以告诉您问题出在哪里.
此外,它有助于避免LIVE系统中的不可用性:
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
将关闭,然后无法启动,这个配置测试你事先知道"oops我做错了什么,我应该先解决这个问题"但是apache本身仍在使用旧配置运行.:)
小智 52
步骤1) C:\ WINDOWS\system32\drivers\etc \打开"hosts"文件:
127.0.0.1 localhost
127.0.0.1 test.com
127.0.0.1 example.com
Run Code Online (Sandbox Code Playgroud)
步骤2) xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot C:/xampp/htdocs/test/
ServerName www.test.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot C:/xampp/htdocs/example/
ServerName www.example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
步骤3) C:\ xampp\apache\conf\httpd.conf.向下滚动到最后的Supplemental配置部分,找到以下部分(第500行左右),从第二行的开头删除#,这样该部分现在如下所示:
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
Run Code Online (Sandbox Code Playgroud)
步骤4)重新启动XAMPP,现在在浏览器中运行:
www.example.com or www.test.com
Run Code Online (Sandbox Code Playgroud)
小智 6
将此代码添加到C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf中
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName qa-staging.com
ServerAlias www.qa-staging.com
<Directory "c:/xampp/htdocs">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在,在以下文件中添加您的虚拟主机名。
C:\Windows\System32\drivers\etc\hosts
Run Code Online (Sandbox Code Playgroud)
127.0.0.1 qa-staging.com
如果您无法将此代码保存在主机文件中,请右键单击notpad,然后选择以管理员身份运行,然后就可以保存您的自定义代码,然后重新启动XAMP
小智 5
将这些代码写在C:\ xampp\apache\conf\extra\httpd-vhosts.conf文件的末尾,
DocumentRoot "D:/xampp/htdocs/foldername"
ServerName www.siteurl.com
ServerAlias www.siteurl.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
Run Code Online (Sandbox Code Playgroud)
虚拟主机标签之间.
并编辑文件System32/Drivers/etc/hosts使用记事本作为管理员
添加文件的底部
127.0.0.1 www.siteurl.com
Run Code Online (Sandbox Code Playgroud)
小智 5
<VirtualHost *:80>
DocumentRoot "D:/projects/yourdirectry name"
ServerName local.yourdomain.com
<Directory "D:/projects/yourdirectry name">
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
保存 Apache 配置文件。
有关详细信息,请参阅此
小智 5
在您的磁盘驱动器:\xampp\apache\conf\extra\httpd-vhosts.conf 中存在一个示例,您可以使用您的配置对其进行编辑:
##<VirtualHost *:80>
##ServerAdmin webmaster@dummy-host.example.com
##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
##ServerName dummy-host.example.com
##ServerAlias www.dummy-host.example.com
##ErrorLog "logs/dummy-host.example.com-error.log"
##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
就像这样,作为示例,不要忘记为 localhost 本身添加 VirtualHost,以便可以在端口 80 上同时运行 phpmyadmin 和其他项目,例如我将用 store.local 项目展示:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@store.local
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName www.store.local
ServerAlias store.local
<Directory C:/xampp/htdocs/store.local>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后如上所述,您必须添加: C:\windows\system32\drivers\hosts 到文件底部
127.0.0.1 store.local
127.0.0.1 www.store.local
Run Code Online (Sandbox Code Playgroud)
重新启动 Apache 并在浏览器中尝试:
store.local or www.store.local
Run Code Online (Sandbox Code Playgroud)
也许第一次你必须这样添加:
http://store.local or http://www.store.local
Run Code Online (Sandbox Code Playgroud)
要使用其他端口,您必须在 VirtualHost 之前添加以下内容:
Listen 8081 or another which you prefer
Run Code Online (Sandbox Code Playgroud)
然后只需使用 VirtualHost 的端口,如下所示:
<VirtualHost *:8081>
ServerAdmin webmaster@store.local
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName store.local
ServerAlias www.store.local
<Directory C:/xampp/htdocs/store.local>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后重启Apache并在浏览器中尝试
store.local:8081 or www.store.local:8081
Run Code Online (Sandbox Code Playgroud)
并且只有您添加端口的项目才会在此端口上运行,例如其他项目和 phpmyadmin 仍将在端口 80 上运行
归档时间: |
|
查看次数: |
204327 次 |
最近记录: |