【问题标题】:install zend framework without apache virtual hosts在没有 apache 虚拟主机的情况下安装 zend 框架
【发布时间】:2010-11-11 03:55:54
【问题描述】:

我的网站位于 /var/www/invent。我在 /var/www/invent/library 中有 zend 框架。

基本上我想要的是当我访问http://localhost/invent 时,就像我在 apache conf 文件中定义了一个虚拟主机“invent”一样工作(比如访问http://invent)。我怎样才能做到这一点? 我在 Windows 下开发了我的项目,设置了虚拟主机,但我不想继续这样工作,因为我无法将我的应用程序部署在不允许我创建虚拟主机的公共虚拟主机服务上。更不用说如果我在局域网上部署应用程序,我还需要配置客户端的主机文件...... 请帮忙,这是 zend 最烦人的事情(虽然到目前为止还没有尝试过其他框架)。

【问题讨论】:

  • 我无法理解您的问题。您能描述一下您遇到的实际问题吗?
  • 我想有一种方法来部署我的 zend 应用程序,而无需在网络服务器的配置文件(和 /etc/hosts 文件)中添加虚拟主机。我知道我必须使用 .htaccess,但我不知道如何使用。
  • 并且由于我的 Zend 和 ZendX 文件夹位于我想要使用的应用程序的库文件夹中,比如说,我的工作应用程序文件夹(比如 c:/wamp/www/invent)并把它放在我的 linux 机器(比如 /var/www/invent)并像在 windows 上一样运行(在我的 windows 机器上,我定义了 vhosts 并更改了 etc/hosts 文件,以便通过键入 invent 来访问我的应用程序)。我想要的是一个通用的解决方案,将 zend 应用程序文件夹放在另一个网络服务器上,并且无需特殊配置即可工作(有时无法在免费的虚拟主机服务上进行)。

标签: php zend-framework


【解决方案1】:

您的应用程序文档根目录是您放置index.php 文件的任何位置,Zend Framework 库的位置和您的应用程序代码无关。

如果您在视图中使用了 BaseUrl 帮助器来处理静态资产(JavaScript、CSS、图像),并使用 Url 帮助器来处理操作链接,那么您的应用程序在 Web 服务器文档的相对路径方面应该是非常可移植的根。

如果我在这里偏离轨道,请告诉我。您的问题可能涉及更多细节。

【讨论】:

  • 今天我遇到的第一个最大问题是我试图将我的应用程序上传到免费托管服务上但失败了。开始时无法加载库,不想知道还有什么问题,因为我没有使用 BaseUrl 帮助器。
【解决方案2】:

删除 vhost 属性并直接转到http://localhost/yourproject/public 文件夹。您需要保留 htaccess mod_rewrite ,不要删除 htaccess 中的 mod_rewrite 属性

【讨论】: