Recently I was working on an AMFPHP test application and came across a strange problem. I was developing an application in Flash CS4 with AS3 and running a script on my WAMP server. on calling a PHP service, from my Flash Application, I kept on getting this error:

[as3]Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.BadVersion at Main()[/as3]

But the strange thing here was that the application was giving this error when running within the Flash IDE. When the application was run after publishing, it was working perfectly fine.
Through some research on the internet and on posting my problem on few forums, someone pointed out to me to check the server side log files.
On checking the apache log files I found the following error:

[php]PHP Fatal error: Uncaught exception ‘VerboseException’ with message ‘Standalone Flash player disabled. Update gateway.php to allow these connections’ in C:\\wamp\\www\\amfphp\\core\\amf\\app\\Gateway.php:357\nStack trace:\n#0 [internal function]: amfErrorHandler(256, ‘Standalone Flas…’, ‘C:\\wamp\\www\\amf…’, 357, Array)\n#1 C:\\wamp\\www\\amfphp\\core\\amf\\app\\Gateway.php(357): trigger_error(‘Standalone Flas…’, 256)\n#2 C:\\wamp\\www\\amfphp\\gateway.php(137): Gateway->disableStandalonePlayer()\n#3 {main}\n thrown in C:\\wamp\\www\\amfphp\\core\\amf\\app\\Gateway.php on line 357[/php]

Following the error log, I found that the problem was due to a security check added in the gateway.php file:
[php]Disable profiling, remote tracing, and service browser
$gateway->disableDebug();
// Keep the Flash/Flex IDE player from connecting to the gateway. Used for security to stop remote connections.
$gateway->disableStandalonePlayer();
[/php]

So on commenting out this piece of code, I was able to get the application running from within the Flash IDE.

Pin It on Pinterest