【问题标题】:file/page not found when uploaded online在线上传时找不到文件/页面
【发布时间】:2011-07-28 05:38:25
【问题描述】:

我正在开发现有实时项目的新模块。这是一个用 PHP Zend 框架开发的网站。新模块在管理端。它在我的 localhost/virtualhost 上正常运行。 当我使用正确的目录路径在线上传时,发现没有找到一个文件。 它被称为

www.example.com/admin/controllerName/actionName

除了一个不显示任何内容并返回提及该页面或文件未找到的异常错误的操作外,所有操作均有效。 可能是什么问题?我检查了文件夹。如果同一控制器的一项操作有效,那么为什么其他操作无效。两者都有自己的 .phtml 文件在视图部分。

我们将不胜感激。

【问题讨论】:

  • 实际的异常消息和堆栈跟踪是什么?
  • 另外,你应该回顾一下你之前的一些问题并接受一些答案 - meta.stackexchange.com/questions/5234/…
  • @Phil :不,它没有生成堆栈跟踪,也不是错误。仅在主体区域显示定义的错误“未找到请求的页面”。当显示布局加载页眉、页脚、菜单等时。
  • 您是否启用了日志记录?如果没有,您可以启用错误报告以在application.ini 在线文件中快速测试它,例如resources.frontController.params.displayExceptions = 1

标签: model-view-controller zend-framework filenotfoundexception


【解决方案1】:

如果我猜你的本地开发环境是 Windows,我猜对了吗?

这可能是文件名区分大小写的问题。

假设你的请求看起来像

www.example.com/admin/fusionmaps/newpage

我不确定你是如何设置模块的,但如果它是相当标准的,你应该有这样的东西(注意大写和小写字符)

application/modules/admin/controllers/FusionmapsController.php

控制器类名应为Admin_FusionmapsController,动作为public function newpageAction()

视图脚本应该在

application/modules/admin/views/scripts/fusionmaps/newpage.phtml

【讨论】:

  • 是的,它是 WAMP 环境。 ControllerName 和 actionNames 遵循标准约定。如果不是那样的话,在 wamp 上运行时是否比在线运行时有所不同?现有网站已运行两年。
  • @maniclorn Windows 文件系统不区分大小写,而 Unix / Linux 则相反。您的生产站点正在运行什么操作系统?实际的文件名和路径是什么?
  • @Phil:www.example.com/admin/fusionmaps/viewpage 主页 www.example.com/admin/fusionmaps/mapsmaster 中包含搜索表单和使用 search 操作可以正常工作。但是,其他运行的模块具有相同的命名约定,我遵循相同的风格。
  • @maniclorn 以及控制器文件名、类名和操作方法名是什么?应该是FusionmapsController.phpAdmin_FusionmapsControllerviewpageAction()
  • FusionmapsController.php ;类 Admin_FusionmapsController ;公共函数 newpageAction() ;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
  • 2012-03-20
  • 2019-12-27
  • 2015-05-06
  • 2011-11-01
  • 1970-01-01
  • 2018-08-20
相关资源
最近更新 更多