AMFPHP and mbstring

http://www.otradny.org/?good-country-people-essay good country people essay These days I was working on a flex 2/amfphp project and I discovered a very strange issue accidentally. http://1limoblack.com/?p=tax-dissertation-help With PHP 5.2.4 installed both on local and remote server, the local amfphp works and the remote gave errors.

research paper on capital punishment

http://edificiosnakawe.com/how-to-write-a-psychology-essay/ how to write a psychology essay Connecting to the service browser I was receiving the error “Channel.Ping.Failed” error and investingating a bit more in the fault message I discovered that the source error was:

http://pghgrp.com/writing-a-cv-for-academic-positions-dubai/ writing a cv for academic positions dubai

literature review writer price The class {Amf3Broker} could not be found under the class path {/var/htdocs/amfphp/services/amfphp/Amf3Broker.php}

http://www.55studio.com.au/?help-writing-a-process-analysis-paper help writing a process analysis paper

http://www.altrefrequenze.it/?write-my-history-essay-for-me write my history essay for me and the Amf3Broker php class does not exists anywhere in amfphp! But in the Actions.php file on line 78 I found this:

http://www.you-select.nl/?speech-help speech help

http://www.gulinhas.pt/buy-accounting-research-paper/ buy accounting research paper That’s the strange thing because the $handled variable should be true ’cause usually the first request sent by flash is a buy papers college $messageType = “flex.messaging.messages.CommandMessage”. So I continued in my investigation logging all the messages that php was receiving. follow So at the end I discovered that amfphp didn’t deserialize the amf data correctly! All the packet were corrupted (that’s why $messageType wasn’t handled), all the strings were not correctly parsed. http://appsoutletmax.com/product/coreldraw-graphics-suite-x8/ Finally I discovered the reason. It’s because mbstring. http://hstrebatestoronto.com/?p=capital-punishment-persuasive-essay The only difference between the remote server and the local server is the php.ini setting about mbstring overload and the others mbstring settings. http://www.sgomentocomics.com/how-to-write-a-rationale-for-dissertation/ The remote server has mbstring.func_overload = 2, that means all the strings functions are affected and that’s why the amfphp methods were returing corrupted data. In fact I just changed this method into AMFDeserializer.php:

http://www.ilplanetario.net/?help-with-homework-on help with homework on
1
2
3
4
5
6
function readBuffer($len)
{
$data = substr($this->raw_data,$this->current_byte,$len);
$this->current_byte += $len;
return $data;
}

http://www.grantsenterprises.com/get-someone-to-do-my-assignment/ get someone to do my assignment into:

http://smithsdaffodils.com/ce-liu-phd-thesis/ ce liu phd thesis
1
2
3
4
5
6
7
8
9
10
function readBuffer($len)
{
$data = "";
for($i = 0; $i < $len; $i++)
{
$data .= $this->raw_data{$i + $this->current_byte};
}
$this->current_byte += $len;
return $data;
}

order viagras and the original error disappeared! Obviously I got other errors later, that’s because there are many other string functions in amfphp.. but at least I found the cause.

http://www.latestrecipes.net/resume-writing-services-greenville-sc/ resume writing services greenville sc

sample undergraduate research proposal In fact, removing the mbstring.func_overload in the php.ini everything worked again!

http://fmindesign.in/masters-degree-admission-essay/