【问题标题】:Zend Framework on Windows - 500 Error using RewriteWindows 上的 Zend Framework - 使用重写时出现 500 错误
【发布时间】:2011-12-28 17:46:51
【问题描述】:

我通过这篇文章 http://thiranjith.wordpress.com/2010/09/14/how-to-setup-zend-framework-with-apache-on-windows/ 在 Windows 7 上设置 Zend Framework 和 Apache 2.2。

我可以访问现有页面 - 请参阅文章的疑难解答部分。 但是每当重写模块启动时,我都会收到 500 错误。 所以只是试图到达 / 我得到一个 500 错误。

还没有任何模型、控制器或视图,应该出现哪个视图/html?

其次,有没有办法使用日志记录来解决这个问题?我看apache的哪个日志? php?还是应用特定的?

【问题讨论】:

  • 查看apache的error.log。它可能在您的 apache 安装的日志文件夹中
  • error.log 中没有与 500 错误相关的内容。
  • 我认为 PHP 日志引导我走上了正确的道路。它无法找到 Zend 框架。我应该在哪里将 Zend Framework 路径添加到项目结构中的 include_path?出于源代码控制的原因,我真的不想将 zf 复制到库文件夹中。
  • 我最终在 index.php 中附加了一个路径 - 现在它可以工作了。由于我的解决方案的路径在 PHP 日志中,你想添加它作为答案吗,Mike B.
  • 很高兴听到你想通了!您应该添加自己的答案并接受它,我所做的只是建议您检查日志:p

标签: php apache zend-framework rewrite


【解决方案1】:

我发现我忘记将 Zend 库文件添加到主 index.php 文件的包含路径中。现在 index.php 文件的包含部分如下所示:

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    // custom
    'C:\ZendFramework-1.11.11\library',
    get_include_path(),
)));

【讨论】:

  • 添加绝对路径是个坏主意,你不想根据环境改变它。
  • 那么在 Windows 上使这个非绝对的正确方法是什么?我确实同意这并不理想,但是将 ZF lib 放入项目本身的默认设置似乎很极端。
  • 与系统无关。看我的答案(我现在就写)。
【解决方案2】:

您自己发布的解决方案不是一个好的解决方案。您不希望在 index.php 中有任何绝对路径。

你有几种可能的好方法来解决这个问题:

  • 将 Zend 文件夹符号链接到您的库文件夹中
  • 将 Zend 文件夹添加到您的 PHP 包含路径
  • 使用从 APPLICATION_PATH 常量开始的相对路径,同时将 Zend 文件夹直接放在库文件夹中

所有这些东西都适用于每个操作系统。

【讨论】:

    【解决方案3】:

    听起来像是一个 Apache mod_rewrite 配置问题。

    查看类似问题的答案 这里:500 internal server error in zend framework

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 2015-03-23
      相关资源
      最近更新 更多