Joomla 1.5.x网站适用于PHP 5.3,但不适用于PHP 5.6



我尝试用PHP 5.6运行我的Joomla 1.x网站,但得到以下错误:

严格的标准:KHttpUri::set(( 的声明应该与/home/beauty/www/libraries/koowa/http/uri.php 中的 KObject::set($property, $value = NULL( 兼容,在第 0 行 严格的标准:KHttpUri::get(( 的声明应该与/home/beauty/www/libraries/koowa/http/uri.php 中的 KObject::get($property = $default NULL( 兼容,第 0 行 严格的标准:非静态方法 JLoader::register(( 不应该在第 19 行的/home/beauty/www/libraries/joomla/cache/cache.php 中静态调用 严格的标准:JCacheStorage::get(( 的声明应该与/home/beauty/www/libraries/joomla/cache/storage.php 中的 JObject::get($property, $default = NULL( 兼容,在第 0 行 严格的标准:非静态方法 JLoader::register(( 不应该在第 19 行的/home/beauty/www/libraries/joomla/document/document.php 中静态调用 严格的标准:非静态方法 JLoader::import(( 不应该在第 186 行的/home/beauty/www/libraries/loader.php 中静态调用 严格的标准:非静态方法 JLoader::import(( 不应该在第 186 行的/home/beauty/www/libraries/loader.php 中静态调用 致命错误:调用时间传递引用已在/home/beauty/www/plugins/content/listitems.php 第 95 行中删除

该网站之前在 PHP 5.3(在 Ubuntu 12.X LTS 上(运行良好,所以这可能与兼容性 PHP 5.3/5.6 有关。

有谁知道它是什么?这可能与什么 PHP 扩展相关?

修补这样一个旧的Joomla版本并使用php 5.6运行它是没有意义的。Joomla 1.5.x与PHP 5.4和5.6不兼容;它很旧,但仍然可用:docs.joomla.org/Joomla_1.5_won't_work_on_PHP_5.4。然而,库瓦图书馆并不是Joomla本身的一部分;你可以重命名类的声明,将所有称为静态的函数(即JLoader::register(((重命名为静态函数等。但是您仍在使用不安全的旧库/插件/组件和Joomla版本。也许您已经在其他地方更改了错误报告(.htaccess(,您应该查看 http://php.net/manual/en/appendices.php。您应该更好地将您的网站迁移到最新的Joomla3.7.4和PHP7... 顺便说一下,Call-time pass-by-reference has been removed in /home/beauty/www/plugins/content/listitems.php on line 95可以像 PHP 5.4 中那样解决调用时传递引用 - 容易修复?,通常函数调用在没有 @ 的情况下工作。还请指定Joomla的确切版本(请在您的问题中(,1.0和1.5以及1.7之间是巨大的差异!

这些只是严格和标准的警告,因此您只需将全局配置参数调试设置为无,所有警告都将消失。

最好是检查代码并手动修复它以进行 PHP 5.6 处理 - 没有开发人员会再为您提供对 Joomla!v1.5 的支持,因此您必须自己修复它。

最新更新