我执行amfphp文件时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我执行amfphp文件时出错相关的知识,希望对你有一定的参考价值。
我的网站上有一个带闪存的页面,但我有问题。当我尝试执行dircetly文件site.com/amfphp/gateway.php时出现此错误:
致命错误:未捕获异常'VerboseException',消息'非静态方法CharsetHandler :: setMethod()不应该静态调用,假设$ this来自不兼容的上下文'....
function service() {
//Set the parameters for the charset handler
CharsetHandler::setMethod($this->_charsetMethod); // the problem point here
CharsetHandler::setPhpCharset($this->_charsetPhp);
CharsetHandler::setSqlCharset($this->_charsetSql);
//Attempt to call charset handler to catch any uninstalled extensions
$ch = new CharsetHandler('flashtophp');
$ch->transliterate('?');
$ch2 = new CharsetHandler('sqltophp');
$ch2->transliterate('?');
我怎样才能解决这个问题?
答案
显然,CharsetHandler类的setMethod函数不是静态的。这意味着除非您拥有该类的实例,否则无法调用它。亚历山大建议在两个实例中的每个实例上调用setMethod是合适的。您的代码应为:
function service() {
//Set the parameters for the charset handler
CharsetHandler::setPhpCharset($this->_charsetPhp);
CharsetHandler::setSqlCharset($this->_charsetSql);
//Attempt to call charset handler to catch any uninstalled extensions
$ch = new CharsetHandler('flashtophp');
$ch->setMethod($this->_charsetMethod);
$ch->transliterate('?');
$ch2 = new CharsetHandler('sqltophp');
$ch2->setMethod($this->_charsetMethod);
$ch2->transliterate('?');
如果您静态调用的其他两个方法确实是静态的,那么这应该有效。
以上是关于我执行amfphp文件时出错的主要内容,如果未能解决你的问题,请参考以下文章
android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错
当我切换到包含片段的活动时应用程序崩溃(二进制 XML 文件第 10 行:二进制 XML 文件第 10 行:膨胀类片段时出错)
第 7 行的 InflateException 二进制 XML 文件:膨胀类片段时出错