PHP多端口站点/虚拟站点的配置方法

  近期在学习PHP方面的知识,PHP方面的框架真是多:国产的ThinkPHP挺好用的,上手容易;Zend框架据说也很好,还没去研究过;Symfony也是个不错的选择,目录结构清晰,维护成本绝对对啊;其它框架等等……

  学习是在window环境下进行的。

  安装好WAMP环境后(可以自己独立安装后再配置,体验一下环境配置过程,有利于了解关键文件的作用与含义)。通过都是将Apache的目录定位到我们的项目根文件夹,然后下面包含很多独立的项目,这种方式不需要做端口监听或虚拟站点,直接访问即可。

  方法1. 端口指定

  当我们的项目位于多个文件夹项目中(不一定都在httpd.conf文件DocumentRoot指定的目录中),这时就需要进行多端口设置了,方便浏览和管理,如下是Symfony框架项目的配置,其它框架只有细微区别,在httpd.conf文件的最后加入:

# 确保必须要有这行
NameVirtualHost 127.0.0.1:8080

# 这是对于你项目的配置
Listen 127.0.0.1:8080

<Virtualhost 127.0.0.1:8080>
  DocumentRoot "D:/PHP/Program/Jobeet/web"
  DirectoryIndex index.php
  <Directory "D:/PHP/Program/Jobeet/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf D:/PHP/Program/Jobeet/lib/vendor/symfony/data/web/sf
  <Directory "D:/PHP/Program/Jobeet/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</Virtualhost>

说明:Alias指定了别名,表示
/sf 别名是为了正确的显示symfony默认页面和WEB调试工具栏(Web Debug Toolbar)所需要的图片和JS文件。
  保存文件后,重启Apache服务,就可能通过http://localhost:8080/来访问指定的项目了,的确方便了好多,之前学的是.net,都是在IIS中增加新站点,可谓异曲同工!
2.配置一个专用域名

  如果你有管理员配置权限,最好设置虚拟主机(virtual hosts)而不是每次开始一个新项目添加一个新端口,或是选择一个端口并添加一个 Listen 语句,选择一个域名(例如 .localhost 真实域名添加在末尾)并添加一个 ServerName 语句:

# 这是对于你项目的配置
<VirtualHost 127.0.0.1:80>
  ServerName www.jobeet.com.localhost
  DocumentRoot "D:/PHP/Program/Jobeet/web"
  DirectoryIndex index.php
  <Directory "D:/PHP/Program/Jobeet/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf D:/PHP/Program/Jobeet/lib/vendor/symfony/data/web/sf
  <Directory "D:/PHP/Program/Jobeet/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</Virtualhost>


 使用Apache配置的该域名 www.jobeet.com.localhost 必须在本地声明。如果你运行的是Linux系统,它应该在 /etc/hosts。如果你运行的是Windows XP,这个文件位于 C:\WINDOWS\system32\drivers\etc\ 目录。
 添加这行:

127.0.0.1 www.jobeet.com.localhost

 分别保存httpd.conf和hosts文件后,重启Apache,我们的虚拟域名就可以生效了。



资料参考:http://www.php-sf.com/forum.php?mod=viewthread&tid=17&extra=page%3D1

posted @ 2011-11-22 09:17  great wang  阅读(377)  评论(0编辑  收藏  举报