Error handling Prestashop:AdminLoginControllerCore::viewAccess()的声明必须与AdminControllerCore兼容:

Error handling Prestashop:AdminLoginControllerCore::viewAccess()的声明必须与AdminControllerCore兼容:,error-handling,prestashop,Error Handling,Prestashop,我在主机上使用prestashop时没有问题。 现在我启动了我的家庭网络服务器,我正在努力让它工作 我尝试了许多不同的prestashop版本,并重新安装了x次。。 一直以来的问题是,我可以访问前面板,但不能访问后端面板 一直显示Http 500错误:服务器无法处理此请求。 现在我启用了调试,它向我显示错误: Fatal error: Declaration of AdminLoginControllerCore::viewAccess() must be compatible with Adm

我在主机上使用prestashop时没有问题。 现在我启动了我的家庭网络服务器,我正在努力让它工作

我尝试了许多不同的prestashop版本,并重新安装了x次。。 一直以来的问题是,我可以访问前面板,但不能访问后端面板

一直显示Http 500错误:服务器无法处理此请求。 现在我启用了调试,它向我显示错误:

Fatal error: Declaration of AdminLoginControllerCore::viewAccess() must be compatible with AdminControllerCore::viewAccess($disable = false) in C:\xampp\htdocs\Shop\controllers\admin\AdminLoginController.php on line 27
和线

class AdminLoginControllerCore extends AdminController{

我无法理解为什么会发生这种情况,因为我没有编辑和更改任何文件或文件夹。

之所以会发生这种情况,是因为必须在子类中使用父类方法的所有参数实现方法。因此,在父类中,viewAccess有一个参数
$disable=false
,您需要在子类
viewAccess()
声明中包含该参数。只需将该参数放在声明
公共函数viewAccess($disable=false)
中,您甚至不需要在声明中使用它。为什么它没有在主机上显示,而是在本地机器上显示,因为服务器上的PHP版本不同,所以显示得更快。因为在不同的版本中,它有不同的错误级别。

我昨天在新安装的PS1.7中遇到了这个问题,但没有解决。今天,PS 1.6.18显然是同一个版本,我原以为它不会,但似乎PS无法忍受PHP7.2.4,不管它是哪个PS版本(当然我应该猜到以前的版本不会比最近的版本更好…)。一些PHP警告现在可能已变成致命错误。事实上,当我进入了<代码>控制器/Admin/Admin Login控制器< /代码> 153行,键入<代码>公共函数VIEW Access($Dabe= false)<代码>,而不是<代码>公共函数VIEW Access()>代码>,空白屏幕消失了,我的后台在那里(还有一些剩余的警告……)。这些文件不必被覆盖以允许升级,但无论如何1.6.18是1.6系列的最后一次升级。。。希望它能有所帮助。

解决这个问题的方法很简单:

转到ROOT/controllers\admin\AdminLoginController.php 第153行,你得换车
公共函数
viewAccess()
到公共函数
viewAccess($disable=false)

非常感谢!我为此挣扎了一周。没想到会有这么简单的解决办法