Php 100%本地工作的Yii2站点在生产服务器上抛出错误
我的Yii2站点在本地机器上运行得非常好,但是自从我将其上传到生产服务器后,我遇到了一些奇怪的问题 问题是,虽然我可以使用系统添加记录,但一旦创建了记录,我就无法删除甚至查看它。错误为403“不允许您执行此操作。” 我在我的SiteController中使用了以下“访问”规则,但即使此部分被注释掉,我仍然存在问题Php 100%本地工作的Yii2站点在生产服务器上抛出错误,php,yii2,production,Php,Yii2,Production,我的Yii2站点在本地机器上运行得非常好,但是自从我将其上传到生产服务器后,我遇到了一些奇怪的问题 问题是,虽然我可以使用系统添加记录,但一旦创建了记录,我就无法删除甚至查看它。错误为403“不允许您执行此操作。” 我在我的SiteController中使用了以下“访问”规则,但即使此部分被注释掉,我仍然存在问题 'access' => [ 'class' => AccessControl::className(), 'only' => ['logout', 'si
'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup', 'create', 'edit', 'index'],
'rules' => [
[
'actions' => ['show'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['index', 'logout', 'create', 'edit'],
'allow' => true,
'roles' => ['@'],
],
],
],
编辑:关于Windows/Linux区分大小写的两条注释。第一个问题(我现在已经从我的问题中删除)正是由这个问题引起的
然而,围绕403个禁止发行的第二个问题仍然存在
我可以看到每个视图的主“索引”很好,但尝试“查看”、“更新”或“删除”都不起作用。正如我所说,“添加”是有效的,但是当添加之后我进入“查看”操作时,我得到了403
由于我现在在本地服务器上也遇到同样的问题,因此错误的全文如下:
exception 'yii\web\ForbiddenHttpException' with message 'You are not allowed to perform this action.' in D:\Websites\cabana\advanced\vendor\yiisoft\yii2\filters\AccessControl.php:154
Stack trace:
#0 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\filters\AccessControl.php(137): yii\filters\AccessControl->denyAccess(Object(yii\web\User))
#1 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\base\ActionFilter.php(75): yii\filters\AccessControl->beforeAction(Object(yii\base\InlineAction))
#2 [internal function]: yii\base\ActionFilter->beforeFilter(Object(yii\base\ActionEvent))
#3 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\base\Component.php(545): call_user_func(Array, Object(yii\base\ActionEvent))
#4 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\base\Controller.php(272): yii\base\Component->trigger('beforeAction', Object(yii\base\ActionEvent))
#5 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\web\Controller.php(164): yii\base\Controller->beforeAction(Object(yii\base\InlineAction))
#6 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\base\Controller.php(154): yii\web\Controller->beforeAction(Object(yii\base\InlineAction))
#7 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\base\Module.php(523): yii\base\Controller->runAction('view', Array)
#8 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\web\Application.php(102): yii\base\Module->runAction('job/view', Array)
#9 D:\Websites\cabana\advanced\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#10 D:\Websites\cabana\advanced\backend\web\index.php(18): yii\base\Application->run()
#11 {main}
我应该做些什么来让我的网站上线?比如转换到“生产”模式还是什么?因为我从本地机器上获取了文件,按原样上传到服务器,导出并恢复了MySQL数据库,更新了数据库连接详细信息,但我只做了这些。使用这个
'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup', 'create', 'edit','index','view','update','delete'],
'rules' => [
[
'actions' => ['show'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['index', 'logout', 'create', 'edit','view','update','delete'],
'allow' => true,
'roles' => ['@'],
],
],
],
您需要为这些“查看”、“更新”、“删除”指定规则,否则您将无法访问。本地主机上有Windows,生产上有linux?这正是我的猜测。请记住,windows上的文件名不区分大小写,而linux环境下的文件名区分大小写感谢超快的响应,people:)我已经添加了上面的代码来代替以前的访问部分,但不幸的是,我仍然收到相同的错误。请分享更多信息。您是否使用standart gii工具生成所有数据?我接受了您的答案,因为我忘记了我在我的各个路线控制器中添加了一个版本的访问控制规则,他们负责403。谢谢你的帮助!