【发布时间】:2017-09-01 08:36:23
【问题描述】:
我正在运行 2012 年 (5.5.2.1) 的旧版 Concrete 5,并且在每次加载页面时都遇到了一个意外的问题,并出现以下错误:
发生意外错误。 不在对象上下文中时使用 $this
这是产生错误的代码,或者至少是调用代码:
## 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 中有一个错误,这意味着我无法访问错误日志以查看此错误实际上是什么、行号、类等。
这是一个常见问题吗?我假设我的主机已经升级了 PHP(目前是 5.6.23),这破坏了我的安装,因为自从去年 5 月修复了一个错误以来我还没有接触过 Concrete 5。
谢谢。
【问题讨论】:
-
是的,是 PHP 升级造成的。您需要更新您的具体版本。
-
@JonStirling 谢谢,您会从这里推荐哪种升级方法? documentation.concrete5.org/developers/installation/… 。显然,远程升级根本行不通,但是在升级过程中涉及访问仪表板的任何操作都会失败,因为代码(似乎处于核心级别)已损坏。我正在运行混凝土 5.5.2.1。
-
恐怕我不知道混凝土的升级过程。我唯一的建议是首先在单独的(但理想情况下相同)环境中测试升级。
标签: php concrete5 php-5.6 concrete