霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

在多个PHP程序的主机上安装Zend Framework

这是一篇老文章,如果对您产生了误导请谅解。

如果你的机子上已经有很多PHP项目,像我这样,绝大部份是不是基于 Zend Framework 的。 我通常在WEB根目录下建立几十个目录,每个目录分别对应一个项目。原来我们访问项目可能是通过http://localhost/project1,http://localhost/project2这样进行访问。通常来说项目间不会互相影响,因为我们的程序一般不严格要求文件的路径。只要相对路径对就行了。

但是现在我们需要安装 Zend Framework , Zend Framework 要求index.php位于站点的根目录下。那么怎么使原来的程序仍然可以正常访问,而基于Zend Framework的程序我们也可以访问?比如我建了个项目是happycms,那么我希望输入http://happycms就可以访问我的基于 Zend Framework 的goodcms项目,而其它项目仍然通过http://localhost/project1这样访问。

我的作法:

1。编辑C:\WINDOWS\system32\drivers\etc目录下的hosts文件

127.0.0.1   localhost

下面加入:

127.0.0.1   happycms

2。编辑C:\Program Files\Apache

Group\Apache2\conf目录下的httpd.conf

加入 NameVirtualHost 127.0.0.1

在文件最末尾加上:

<VirtualHost 127.0.0.1>

ServerName localhost

DocumentRoot I:\Projects

RewriteEngine Off

</VirtualHost>

<VirtualHost 127.0.0.1>

ServerName happycms

DocumentRoot I:\Projects\happycms\svn\trunk\src\www

RewriteEngine On

RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg)$

RewriteRule ^(/.*)$ /index.php

</VirtualHost>

这样就完成了。 这样无论是否基于ZF的项目都可以共存,不互相影响。