amfphp проблем

tyrla4eto

Registered
Здравейте,
Имам една страница, която използва флаш, за нея се използва amfphp, но ми връща грешка. Пробвах директно да изпълня файла в amfphp/gateway.php и получавам тази грешка:

Код:
Fatal error: Uncaught exception 'VerboseException' with message 'Non-static method CharsetHandler::setMethod() should not be called statically, assuming $this from incompatible context' in /home/.../public_html/amfphp/core/amf/app/Gateway.php:137
Stack trace:
#0 /home/.../public_html/amfphp/core/amf/app/Gateway.php(137): amfErrorHandler(8192, 'Non-static meth...', '/home/vibankco/...', 137, Array)
#1 /home/.../public_html/amfphp/gateway.php(154): Gateway->service()
#2 {main}
  thrown in /home/.../public_html/amfphp/core/amf/app/Gateway.php on line 137

Това е кода, където сочи грешката:

PHP:
function service() {

        //Set the parameters for the charset handler
        CharsetHandler::setMethod($this->_charsetMethod); // Проблемът сочи на този ред
        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('?');

        $GLOBALS['amfphp']['actions'] = $this->actions;

Някой по-запознат, ако може да помогне с решаването на проблема?
 
Виж какво пише в грешката:

Non-static method CharsetHandler::setMethod() should not be called statically, assuming $this from incompatible context

Или на български, за да извакеш метода "CharsetHandler::setMethod", ти трябва обект (променлива), която си създал чрез "new CharsetHandler".

Т.е. тези три реда:

PHP:
        CharsetHandler::setMethod($this->_charsetMethod); // Проблемът сочи на този ред
        CharsetHandler::setPhpCharset($this->_charsetPhp);
        CharsetHandler::setSqlCharset($this->_charsetSql);

Трябва да ги извикаш поотделно за $ch и $ch2, например:
PHP:
        //Set the parameters for the charset handler
        //Attempt to call charset handler to catch any uninstalled extensions
        $ch = new CharsetHandler('flashtophp');
        $ch->setMethod($this->_charsetMethod); // Проблемът сочи на този ред
        $ch->setPhpCharset($this->_charsetPhp);
        $ch->setSqlCharset($this->_charsetSql);
        $ch->transliterate('?');
 
Това проработи, блягодаря! Мисех, че там е проблема, но явно не е само там... Имам един swf файл, който използва amfphp, но нещо не работи. Имам предвид, че се показва фона и до там нищо повече. В момента в нито един error_log файл не записва грешки. Има ли някакъв начин да разбера къде точно и какъв е проблема?
 
tyrla4eto каза:
Това проработи, блягодаря! Мисех, че там е проблема, но явно не е само там... Имам един swf файл, който използва amfphp, но нещо не работи. Имам предвид, че се показва фона и до там нищо повече. В момента в нито един error_log файл не записва грешки. Има ли някакъв начин да разбера къде точно и какъв е проблема?
Не знам какво е amfphp. някаква флаш библиотека ли?

Можеш ли да обясниш отново какви програми (swf - php) имаш и как си взаимодействат, и къде е проблема?
 
Коя версия на php е amfphp и коя ползва сървъра ?
Проблема е решен, но ще излезе друг ако има разминаване на версиите!
 
novakabg каза:
Коя версия на php е amfphp и коя ползва сървъра ?
Проблема е решен, но ще излезе друг ако има разминаване на версиите!


Мисля, че версията на amfphp е стара, докато на php сървъра е 5.6. Модулът, който използвам не съм го писал аз и не знам как точно работи. Пробвах да сложа най-новата версия на amfphp, но тъй като файловете са .swf ( а аз не разбирам от flash ) неможах да го подкарам и реших да върна старото amfphp и да го мъча. Евентуално ако има някакво решение на проблема, освен ъпгрейдването на версията.
 

Горе