我的网络托管提供商说他们将从 5.2.17 更改为 php 5.4,我尝试使用 php 5.4 在本地运行我的网站,但我遇到了很多问题
像这样
Strict Standards: Non-static method JError::isError() should not be called statically, assuming $this from incompatible context in D:\xampp\htdocs\indoor\libraries\joomla\application\application.php on line 721
所以我需要升级我的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
- .htaccess:
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 版本。
希望有帮助。
关于php - 哪个Joomla版本低于2并且接近1.5。支持 PHP 5.4 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870668/