2

我使用的是 xampp 1.7.0,但只是决定升级到 xampp 1.8.1。我卸载了 1.7 但没有卸载 htdocs 和 mysql 服务器。
我现在安装了 1.8 并通过 xampp 安全页面为 xampp 目录和 mysql 创建密码。不幸的是,我无法再次查看我的网站,它们都给出错误,这是一个示例错误:

Strict Standards: Non-static method JLoader::import() should not be called statically in C:\xampp\htdocs\3nity\libraries\joomla\import.php on line 29
Strict Standards: Non-static method JLoader::register() should not be called statically in C:\xampp\htdocs\3nity\libraries\loader.php on line 71
Strict Standards: Non-static method JLoader::import() should not be called statically in C:\xampp\htdocs\3nity\libraries\joomla\import.php on line 32
Strict Standards: Non-static method JLoader::register() should not be called statically in C:\xampp\htdocs\3nity\libraries\loader.php on line 71
Strict Standards: Non-static method JLoader::register() should not be called statically in C:\xampp\htdocs\3nity\libraries\loader.php on line 138
Strict Standards: Non-static method JRequest::clean() should not be called statically in C:\xampp\htdocs\3nity\libraries\joomla\import.php on line 33
Strict Standards: Non-static method JRequest::_cleanArray() should not be called statically in C:\xampp\htdocs\3nity\libraries\joomla\environment\request.php on line 463

请问我能做什么,因为我没有所有网站的备份,现在手头的当前客户项目已经努力工作了 5 年。

我使用的是 64 位的 win 7 操作系统,使用了 xampp-win32-1.8.1-VC9-installer。

4

2 回答 2

2

这可能是由于最新 XAMPP 中的 PHP 版本不同(较新)。PHP 5.4(准确地说是 PHP 5.4.7)对错误代码的警告更加严格。

真正的问题在于实际的 PHP 代码(您的代码或包使用中使用的代码,如 Joomla)。

如果它来自您的代码,您应该修复它。通过以静态方式访问静态方法属性或属性来做到这一点(例如class Foo { public static $bar = 123; }Foo::$bar访问它,并class Bar { public static function foo() { } }调用Bar::foo()它。注意我们如何使用::而不是->。这意味着没有活动的实例化状态(换句话说,$bar = new Bar(); $bar->foo();不正确为它将它作为实例方法调用,而不是通过Bar::foo()) 静态调用。

同样,如果问题是相反的,开发人员可能必须声明一个方法,就static好像它是无状态的并被静态调用。

对于 Joomla 案,似乎已经有各种报道:

(通过将错误粘贴到 Google 中找到!)

详细了解状态和静态之间的区别:

如果您只有警告(没有错误),请查看“php error_reporting”以了解如何禁用这些无害警告(通过降低错误报告级别)。这样您就可以减少噪音并专注于重要的事情。

在开发过程中,您可能不应该隐藏任何警告,以便您可以发现它们并改进您的代码。但在生产中,最好隐藏警告并仅记录错误。

于 2012-11-06T06:44:29.650 回答
0

在浏览了提供的所有信息和链接后,我能够克服严格的标准问题。我之前所做的更改没有反映出来,因为我更改了错误行的值。这就是我所做的:我必须编辑我的 php.ini 文件的第 535 和 552 行并将显示错误设置为 OFF,并且还使用了这个设置:error_reporting = E_ALL & ~E_NOTICE。Joomla 1.5 和 2.5 网站都不会再出现错误。谢谢大家。

于 2012-11-15T21:08:33.037 回答