其中Joomla版本低于2,接近1.5。支持PHP5.4吗?

其中Joomla版本低于2,接近1.5。支持PHP5.4吗?,php,mysql,joomla,version,joomla1.5,Php,Mysql,Joomla,Version,Joomla1.5,我的网络托管提供商说他们正在从5.2.17改为PHP5.4,我试着用PHP5.4在本地运行我的网站,我遇到了很多问题 像这样 严格标准:不应静态调用非静态方法JError::isError(),假设$this来自第721行的D:\xampp\htdocs\introor\libraries\joomla\application\application.php中不兼容的上下文 因此,我需要升级我的joomla版本,该版本接近1.5,目前我使用的是1.5.24,这是静态调用全局函数时出现的内部joo

我的网络托管提供商说他们正在从5.2.17改为PHP5.4,我试着用PHP5.4在本地运行我的网站,我遇到了很多问题

像这样

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


因此,我需要升级我的joomla版本,该版本接近1.5,目前我使用的是1.5.24,这是静态调用全局函数时出现的内部joomla错误。请使用调试器并在调试模式下运行页面

严格标准模式是一种PHP设置,告诉它在代码执行某些技术上不正确的操作时抛出警告消息

然而,PHP可以处理这些问题——根据问题中的消息,PHP能够对本例中的代码进行假设并继续

这些严格的模式警告一直存在;在5.4中使用它们而不是在5.2中使用它们的原因是,在5.4中它们默认处于启用状态,而在5.2中它们默认处于关闭状态

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

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

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

  • PHP.ini:
    错误报告=30719
  • .htaccess:
    php\u值错误\u报告30719
  • 在PHP代码中:
    error\u报告(E\u ALL&~E\u STRICT)
(30719等于
E_ALL
(32767)减去
E_STRICT
(2048),但名称E_ALL和E_STRICT在ini文件中无效,因此必须使用数值)

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


希望这会有所帮助。

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

PHP严格标准:

“非静态方法JTable::getInstance()不应静态调用,假设$this来自不兼容的上下文”


您好,Bilal Khalid,php 5.4.7是否在您的web主机上支持joomla 1.5.24Good,以便最终更新。PHP5.2已经完全不受支持两年了,并且已知未修补的安全漏洞;让我惊讶的是,有多少托管公司愿意将它保留在他们的服务器上。我遇到了同样的问题,然后我发现了这个问题,这让我心碎,
eall
eal
等常量在php处理的
.ini
文件中有效(因此
php.ini
可以使用它们),但在apache处理的文件中无效(因此,在
.htaccess
VirtualHost
配置中,您必须使用数值。此外,数值可能会从一个php版本更改为另一个版本,因此最好检查