PHP不推荐使用:非静态方法>假设>不应静态调用JApplication :: redirect()。来自

时间:2016-08-24 07:34:43

标签: php joomla static static-methods

我在Joomla 3x网站上有2天的错误500(www.magic.cr)

  

内部服务器错误

     

服务器遇到内部错误或配置错误   无法完成您的请求。

     

请与服务器管理员联系   webmaster@magic.kiwitextil.com告知他们此错误的时间   发生了,以及您在此错误之前执行的操作。

     

有关此错误的详细信息可能在服务器错误中可用   日志中。

     

此外,遇到500内部服务器错误错误   尝试使用ErrorDocument来处理请求。

我在错误日志中找到了这些:

  

[2016年8月23日16:48:00 UTC] PHP不推荐使用:非静态方法   假设,JApplication :: redirect()不应该静态调用   $ this来自不兼容的上下文   /home/kiwitex/public_html/magic.cr/templates/braink/error.php在线   9 [23-Aug-2016 16:48:00 UTC] PHP注意:未定义的属性:   JDocumentError :: $ _ messageQueue in   /home/kiwitex/public_html/magic.cr/libraries/legacy/application/application.php   在线376 [23-Aug-2016 16:48:00 UTC] PHP注意:未定义   property:JDocumentError :: $ client in   /home/kiwitex/public_html/magic.cr/libraries/legacy/application/application.php   在第394行[23-Aug-2016 16:48:00 UTC] PHP注意:试着去   非对象的属性   /home/kiwitex/public_html/magic.cr/libraries/legacy/application/application.php   在线394 [23-Aug-2016 16:48:00 UTC] PHP致命错误:致电   未定义的方法JDocumentError :: close()in   /home/kiwitex/public_html/magic.cr/libraries/legacy/application/application.php   在409行

这是: 的public_html / magic.cr /模板/ braink / error.php



<?php
defined('_JEXEC') or die;
if (!isset($this->error)) {
	$this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
	$this->debug = false; 
}else{
	switch($this->error->getCode()) {
		case "404":
			JApplication::redirect("index.php/404-error"); // replace the redirect URL with your own
			break;
		case "403":
			JApplication::redirect("index.php/404-error"); // replace the redirect URL with your own
			break;
	}
}  
&#13;
&#13;
&#13;

我可以访问管理员:www.magic.cr/administrator

Joomla 3.6.2 PHP版本5.6.23

提前致谢!!

1 个答案:

答案 0 :(得分:1)

由于静态函数的使用不正确而发出通知消息。

这是调用重定向功能的正确方法。

$app = JFactory::getApplication();
$app->redirect(url);