【问题标题】:Unable to resolve the request yii无法解析请求 yii
【发布时间】:2013-06-25 05:24:55
【问题描述】:

我是 Yii 的新手,很抱歉有人帮我解释一下为什么控制器employeeController.php 没有被调用,我检查并设置了许多文件权限等,

这是我的网址http://dxb.softmatics.com:81/erp/index.php/employe/index

Controller : /.........用于板载控制器..../

class employeController extends Controller{

    /**
     * Declares class-based actions.
     */
    public function actions()
    {

        return array(
            'page'=>array(
                'class'=>'CViewAction',
            ),
        );
    }

    /**
    * for index page 
    */
    public function actionIndex()
        {
            echo 'in index';
            exit;
        }
}//...end of class 

如果还有什么我会告诉你我的代码,比如配置等

【问题讨论】:

  • 你遇到了什么错误??
  • 控制器通常被称为:your_application/index.php?r=Employer/index
  • Error 404 Unable to resolve the request "employe/index" ,我什至尝试像这样 dxb.softmatics.com:81/erp/index.php?r=Employer/index 这样的 url,通过设置配置,main.php
  • 注意:你的控制器文件名是EmployeeController,而类名是employeeController,为了避免问题,总是使用相同的字母大小写,最好是第一个字母应该是大写的名字。

标签: php yii


【解决方案1】:

您必须将控制器称为:

index.php?r=ControllerName/ActionName

在你的情况下:

dxb.softmatics.com:81/erp/index.php?r=employe/index

另外,您可以添加模块,例如:

index.php?r=ModuleName/ControllerName/ActionName

参考:Controller

【讨论】:

  • 嗨,请检查我设置了 URL 管理器,现在我的 url 是 dxb.softmatics.com:81/erp/index.php?r=employe/index,但仍然出现同样的错误 :(
  • 您的employeController 上有actionIndex 方法吗?它以前工作过。
  • 是的,我有,你可以在上面查看我的employeeController.php类代码,
【解决方案2】:

此网址有效:dxb.softmatics.com:81/erp/index.php?r=employe/index

但是如果你在index 中没有看到你的回声 - 问题是:在布局中你应该设置默认控制器的名称 - 不是Site,而是Employe(你可以为每个控制器设置正确的名称布局)

或者在config.php默认控制器中设置为employe,如果你有的话。

【讨论】:

  • 感谢大家,我得到了错误,文件在Linux服务器上,问题是拼写错误(小写和大写),我非常感谢大家帮助我,谢谢...:)
  • 现在我的控制器文件名是 EmployeController.php ,类 EmployeController 是 this ,并且 url 会像 /employe/index,谢谢大家...:)
【解决方案3】:

问题是控制器名称及其文件的大小写。应该是EmployeControllerEmployeController.php。 Yii 将大写路由中定义的控制器名称,并在controllers/EmployeController.php 处查找控制器。对于区分大小写的文件系统(如 Linux)文件将找不到,所以 Yii 将假定控制器不存在并返回 404 错误。

【讨论】:

    【解决方案4】:

    我遇到了一个问题,控制器/操作在本地 (MAC OS X) 上运行良好,但在我的服务器 (Linux) 上运行不正常。

    问题是需要刷新服务器上的 PHP opcache

    希望这对遇到类似问题的人有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 2021-07-09
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      相关资源
      最近更新 更多