一个意料之外的问题发生了。 PHP 5.6 上的 Concrete 5 中不在对象上下文中时使用 $this 错误
An unexpected error occurred. Using $this when not in object context error in Concrete 5 on PHP 5.6
我是 运行 2012 年的 Concrete 5 (5.5.2.1) 的旧版本,我在每次加载页面时都遇到了一个突然出现的问题,出现以下错误:
An unexpected error occurred.
Using $this when not in object context
这是造成错误的代码,或者至少是调用代码:
## now we display (provided we've gotten this far)
$v = View::getInstance();
$v->render($c);
当我用 var_dump 转储 $v 时,我得到这个:
object(View)#4 (8) {
["viewPath":"View":private]=> NULL
["controller"]=> NULL
["headerItems":"View":private]=> array(0) { }
["footerItems":"View":private]=> array(0) { }
["themePaths":"View":private]=> array(8) {
["/dashboard"]=> string(9) "dashboard"
["/dashboard/*"]=> string(9) "dashboard"
["/page_forbidden"]=> string(8) "concrete"
["/page_not_found"]=> string(8) "concrete"
["/install"]=> string(8) "concrete"
["/login"]=> string(8) "concrete"
["/register"]=> string(8) "concrete"
["/maintenance_mode"]=> string(8) "concrete"
}
["areLinksDisabled":"View":private]=> bool(false)
["isEditingEnabled":"View":private]=> bool(true)
["error"]=> string(0) ""
}
不幸的是,我的廉价主机在 cPanel 中有一个错误,这意味着我无法访问错误日志以查看此错误的实际内容、行号、class 等
这是一个常见问题吗?我假设我的主机已升级 PHP(当前为 5.6.23),这破坏了我的安装,因为自从去年 5 月修复了一个错误以来我还没有接触过 Concrete 5。
谢谢。
这确实是由于我的主机将站点升级到 PHP 7. PHP 7.
上没有 运行 的 Concrete 5.5
恢复到 PHP 5.6 成功了,现在网站恢复正常了。
我是 运行 2012 年的 Concrete 5 (5.5.2.1) 的旧版本,我在每次加载页面时都遇到了一个突然出现的问题,出现以下错误:
An unexpected error occurred. Using $this when not in object context
这是造成错误的代码,或者至少是调用代码:
## now we display (provided we've gotten this far)
$v = View::getInstance();
$v->render($c);
当我用 var_dump 转储 $v 时,我得到这个:
object(View)#4 (8) {
["viewPath":"View":private]=> NULL
["controller"]=> NULL
["headerItems":"View":private]=> array(0) { }
["footerItems":"View":private]=> array(0) { }
["themePaths":"View":private]=> array(8) {
["/dashboard"]=> string(9) "dashboard"
["/dashboard/*"]=> string(9) "dashboard"
["/page_forbidden"]=> string(8) "concrete"
["/page_not_found"]=> string(8) "concrete"
["/install"]=> string(8) "concrete"
["/login"]=> string(8) "concrete"
["/register"]=> string(8) "concrete"
["/maintenance_mode"]=> string(8) "concrete"
}
["areLinksDisabled":"View":private]=> bool(false)
["isEditingEnabled":"View":private]=> bool(true)
["error"]=> string(0) ""
}
不幸的是,我的廉价主机在 cPanel 中有一个错误,这意味着我无法访问错误日志以查看此错误的实际内容、行号、class 等
这是一个常见问题吗?我假设我的主机已升级 PHP(当前为 5.6.23),这破坏了我的安装,因为自从去年 5 月修复了一个错误以来我还没有接触过 Concrete 5。
谢谢。
这确实是由于我的主机将站点升级到 PHP 7. PHP 7.
上没有 运行 的 Concrete 5.5恢复到 PHP 5.6 成功了,现在网站恢复正常了。