damned,昨天花了一天时间来调试,amfphp在liunx系统php5.3.X的版本下,一直会出错。
打开gateway.php正常,再打开services就报错:
(mx.rpc::Fault)#0
errorID = 0
faultCode = "Client.Error.MessageSend"
faultDetail = "Channel.Connect.Failed error NetConnection.Call.BadVersion: "
faultString = "Send failed"
message = "faultCode:Client.Error.MessageSend faultString:'Send failed' faultDetail:'Channel.Connect.Failed error NetConnection.Call.BadVersion: '"
name = "Error"
rootCause = (Object)#1
code = "NetConnection.Call.BadVersion"
description = ""
details = ""
level = "error"
网上搜到无数此情况,只是没有一个有能解决的办法。。。恼火啊。
后来看到这里才晓得,amfphp与php5.3.X搭配就是有问题。只好降格成php5.2.X,一切ok。
http://blog.csdn.net/gavin_guo/archive/2010/03/24/5410378.aspx
I don’t get PHP 5.3.1 working with amfphp 1.9.
I always got the following error:
(mx.rpc::Fault)#0
errorID = 0
faultCode = “Client.Error.MessageSend”
faultDetail = “Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed”
faultString = “Send failed”
message = “faultCode:Client.Error.MessageSend faultString:’Send failed’ faultDetail:’Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed’”
name = “Error”
rootCause = (Object)#1
code = “NetConnection.Call.Failed”
description = “HTTP: Failed”
details = “http://localhost/amfphp/gateway.php”
level = “error”
I don’t know what happens. And when I look into the apache error.log, I got:
[Mon Mar 22 20:53:05 2010] [error] [client 127.0.0.1] File does not exist: D:/Program Files/Apache/htdocs/amfphp/browser/history.htm, referer:http://localhost/amfphp/browser/
[Mon Mar 22 20:53:05 2010] [error] [client 127.0.0.1] File does not exist: D:/Program Files/Apache/htdocs/favicon.ico
After I googling, there is no good solution on this. Anything relevant for the root cause?
And meanwhile, I am using: Windows XP with SP3 and Apache 2.2.1
Solution finally identified as follows:
- Downgrade the PHP version to 5.2.X and then it works perfectly.
- PHP Version 5.3.x seems not compatible with Amfphp 1.9.
在排查问题的时候也看到了大家的一些其他方面的讨论,也一并放在这里了。
后来逛到天地会后发现一篇 关于AMFPHP1.9错误的处理方法:
(以下内容转自天地会- 后台技术讨论区 » 关于AMFPHP新版一些问题解决办法)
AMFPHP 1.9新版问题修改
1、Flash环境下访问方法失败,而自带调试SWF正常,修改amfphp\gateway.php如下内容:
if(PRODUCTION_SERVER)
{
//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();
}
2、访问ByteArray对象出错,修改amfphp\core\amf\io\AMFSerializer.php如下内容:
function writeAmf3ByteArray($d)
{
$this->writeByte(0x0C);
//$this->writeAmf3String($d, true);
$this->writeAmf3ByteArrayBody($d);
}
另需要在写PHP代码时,将AMFPHP的AMF设置为AMF3,Flash设置无效的,代码为$GLOBALS['amfphp']['encoding'] = 'amf3';
或修改amfphp\core\shared\app\Globals.php内容中的$amfphp['encoding'] = "amf0";为$amfphp['encoding'] = "amf3";
分享到:
相关推荐
"amfphp 1.9"、"amfphp1"和"amfphp_1.9"都是与AMFPHP 1.9相关的标签,用于区分不同版本和便于搜索。 在AMFPHP 1.9 beta中,开发者可以期待以下关键特性: 1. **AMF支持**:AMF协议提供了一种高效的数据序列化方式...
A javascript-based standards-friendly way of making Flash content accessible to browsers without Flash installed, including screen readers and primitive
AMFPHP 1.9 和 Flash 是两个与Web开发密切相关的技术,它们在构建富互联网应用程序(RIA)中发挥着重要作用。AMFPHP 是一个开源的PHP框架,它允许服务器端的PHP代码与客户端的Flash或Flex应用进行高效的数据交换。...
Flex AMFPHP 1.9 是一款用于连接Adobe Flex与PHP服务器端的开源框架,它提供了高效的二进制数据交换格式AMF(Action Message Format),从而实现Flash客户端与PHP服务端之间的快速通信。AMF是一种低级的数据表示格式...
6. **兼容性**:AMFPHP不仅与Flash Player兼容,还支持Flex和Air应用,覆盖了大部分Adobe富互联网应用(RIA)的开发场景。 在"amfphp 1.9"版本中,可能包含了以下组件和改进: - **核心库**:这是AMFPHP的核心代码...
从文件名`amfphp-1.9.beta.20080120`来看,这是AMFPHP的1.9版本的β测试版,发布于2008年1月20日。这个版本可能包含了一些新功能、改进和修复的bug,对于研究AMFPHP的历史发展和技术演变有一定参考价值。 使用...
AMFPHP 2.0是基于PHP开发的一个框架,它主要功能是实现Flash客户端与PHP服务器之间的高效、低延迟的数据交换。AMF(Action Message Format)是一种二进制数据格式,由Adobe公司开发,用于在客户端(如Flash Player)...
2. `amfphp 1.9.zip`:这是AMFPHP的源代码或安装包,版本号为1.9。用户可以解压后安装在自己的PHP环境中,然后按照文档的指导设置和使用AMFPHP。 总的来说,这个压缩包是一个全面的AMFPHP学习资源,包含理论讲解和...
6. **安全特性**:尽管AMFPHP本身不提供完整的安全解决方案,但它可以通过与其他安全框架结合,如PHP的认证和授权库,来增强应用的安全性。 7. **示例和教程**:提供的使用方法可能包括示例代码和详细教程,指导...
5. **兼容性**:AMFPHP不仅与Flex兼容,还可以与其他使用AMF的客户端如Flash Player、Adobe AIR等配合使用。 **AMFPHP 2.1.1的改进** - **性能提升**:此版本优化了内部处理,提高了处理大量请求时的性能。 - **...
4. **兼容性**:AMFPHP 2.2.2 应该与各种版本的Flash Player和Flex SDK兼容,同时支持AMF0和AMF3两种AMF版本,以适应不同客户端的需求。 5. **性能优化**:作为成熟版本的2.2.2,AMFPHP可能已经过优化,以减少处理...
- 检查 PHP 版本是否与 Apache 兼容。 - **phpMyAdmin 登录失败**: - 检查 `config.inc.php` 文件中的 MySQL 服务器配置。 - 确认使用正确的用户名和密码登录。 #### 六、总结 通过上述步骤,用户可以在 ...
标题中的"amfphp.zip_amfphp_flex_flex php"暗示了这是一个关于AMFPHP、Flex以及PHP之间交互的压缩文件。AMFPHP(Action Message Format for PHP)是一种高效的数据交换协议,它允许Flex(一种用于构建富互联网应用...
将AMFPHP与Apache和PHP结合使用,可以构建高性能、可扩展的Web服务,尤其适用于需要处理大量实时数据交换的应用,如游戏、在线协作工具和实时聊天系统。 AMFPHP的工作原理: 1. **AMF协议**:AMF是一种二进制序列...
AMFPHP 提供了一种快速、低带宽消耗的方式,使得 Flash 应用能够无缝地与后端 PHP 服务进行通信。 在开始使用 AMFPHP 之前,你需要确保已经安装并配置好了 PHP 环境。下载 AMFPHP 的压缩包,解压缩后将其放置在你的...
AMFPHP(Action Message Format for PHP)是一种高效的数据交换协议,它允许Flex、Flash或ActionScript 3.0与PHP应用程序之间进行快速、低开销的通信。在本入门教程中,我们将了解如何安装和使用AMFPHP以及创建简单...
methodTable 1.9 版本不需要额外的设置。 五、使用 RemoteObject 与 AMFPHP 进行通信 使用 RemoteObject 与 AMFPHP 进行通信是 Flex 应用程序与 PHP 后端进行交互的另一种方式。示例 1:简单的数据通信...
AMFPHP(Action Message Format for PHP)是一种PHP扩展,它允许服务器端的PHP代码与客户端的Flex应用程序进行高效、低延迟的数据交换。Flex是Adobe开发的一款用于构建富互联网应用程序(RIA)的框架,它主要使用...
AMFPHP.zip_flex是一个与Flex相关的压缩包,其中包含了一份名为"amfphp.doc"的文档,专门探讨了Action Message Format (AMF)如何与PHP进行交互。AMF是一种二进制数据格式,主要用于提高Flash/Flex应用程序与服务器...