【问题标题】:Zend framework 2 LAMP returns 404 error while it was working on windowsZend 框架 2 LAMP 在 Windows 上工作时返回 404 错误
【发布时间】:2017-08-18 11:03:26
【问题描述】:

我有一个应用程序可以在我的 Windows 和 CentOS 服务器上完美运行,但最近我已将我的操作系统从 Windows 更改为 Ubuntu。现在public 文件夹被称为它触发onBootStrap,我有自定义逻辑来检查是否未登录,然后重定向到默认控制器的loginAction。哪个重定向很好,但控制器都没有工作,它们返回404 error

甚至我的公共控制器也无法访问。

我是否缺少任何依赖扩展?

【问题讨论】:

    标签: php zend-framework lamp


    【解决方案1】:

    可能是某些目录分隔符是 \ 而不是 / 吗?如果这些是硬编码的,请尝试在您拥有它们的任何地方用 PHP 常量 DIRECTORY_SEPARATOR 替换它们,如下所示:

    require_once 'path'.DIRECTORY_SEPARATOR.'to'.DIRECTORY_SEPARATOR.'file';
    

    代替:

    require_once 'path/to/file';
    

    在windows中开发有几个问题,这只是其中之一。不区分大小写和字符编码是您将面临的其他问题。

    比重新配置站点中的所有内容(或 wamp/xampp 等)更简单的解决方案是您可以与团队共享的便携式开发服务器设置,因此我建议您尝试使用 VM!

    首先下载 Vagrant 和 VirtualBox。然后如果你去puphpet.com,你可以填写一个表格来配置你的开发服务器。使其与您的生产服务器尽可能匹配。

    填写完表格后,下载配置压缩包,解压缩,cd 进入文件夹,然后输入vagrant up。第一次需要一些时间,但是当它准备好后,您将拥有一个完整的 Linux 服务器,如果您共享 zip,您团队中的每个人都将拥有相同的设置,无论是在 Windows、Linux 还是 Mac 上。

    无论如何,如果您打算继续在 Windows 中进行原生开发,请检查您的 php error_log

    【讨论】:

    • 哈!输入完所有内容后,我才意识到,这是相反的方式,哈哈!检查您的 error_log,看看它是否有助于启发我们!
    • 但是我没有在任何地方使用require_once,我遵循 Zendframework 标准及其在 CentOS(我的实时服务器)上的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2013-07-19
    • 2013-03-03
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多