哪个Joomla版本低于2,接近1.5.支持PHP 5.4



我的网络托管提供商说他们从5.2.17改为php 5.4,我试图用php 5.4在本地运行我的网站,我得到了很多问题

像这个

严格标准:非静态方法JError::isError()不应静态调用,假设$this来自第721 行D:\examplep\htdocs\interior\libraries\joomla\application\application.php中的不兼容上下文

所以我需要升级我的joomla版本,它接近1.5,目前我使用的是1.5.24

严格标准模式是一种PHP设置,当代码做某些技术上不正确的事情时,告诉它抛出警告消息。

然而,PHP可以处理这些问题——根据问题中的消息,PHP可以对这种情况下的代码进行假设并继续

这些严格的模式警告一直存在;你在5.4中得到它们而不是在5.2中得到它们的原因是,在5.4中它们是默认启用的,而在5.2中它们默认关闭

基本上,随着每一个新版本的出现,PHP对过时或糟糕的编程实践都会慢慢变得更加严格。这通常是一件好事,但在升级时确实会给旧代码带来问题。

但严格模式并不是强制性的;它可以被禁用。因此,如果你得到的只是关于严格模式的警告,那么处理这个问题的最快方法就是关闭它

您可以在PHP.ini.htaccess文件中执行此操作,也可以在PHP本身中使用ini_set()执行此操作。

  • PHP.ini:error_reporting=30719
  • .hta访问:php_value error_reporting 30719
  • 在您的PHP代码中:error_reporting(E_ALL & ~E_STRICT);

(30719等于E_ALL(32767)减去E_STRICT(2048),但名称E_ALL和E_STRICT在ini文件中无效,因此必须使用数值)

一般来说,最好将您的系统升级到不会引起严格模式警告的软件;也许新版的Joomla会对此有所帮助。但在短期内,这将防止出现严格的模式警告,并有望帮助您过渡到新的PHP版本。

希望能有所帮助。

这是静态调用全局函数时出现的内部joomla错误。使用调试器并在调试模式下运行页面。

是的,现在最好升级您的joomla版本,因为joomla 1.5没有安全更新。还要记住,所有开发的新扩展都与joomla2.5兼容,不能将其用于1.5。

PHP严格标准:

"Non-static method JTable::getInstance() should not be called statically, assuming $this from incompatible context"

来源:http://mytecharticle.com/?p=1484

最新更新