在收到确认之前通道已断开连接

时间:2011-12-02 17:05:44

标签: php flex zend-framework

我正在使用Adobe Air和PHP与Zend Framework进行远程处理。

目前在一台特定的机器上,我在Air应用程序对php函数的第一次调用中收到“在收到确认之前已断开连接通道”错误。

我尝试使用一些调试语句运行php文件,这些工作正常,所以它不是php连接到数据库的问题。从flex调用的函数也被调用(它被记录到最后一个return语句之前),但控件永远不会返回到flex。我还通过具有相同参数值的php文件直接调用相同的函数来确认,并且它正确地返回预期值。所以我很肯定它不是一个例外,因为一些PHP错误代码。

整个设置在其他机器上完美运行。我不想盲目地重新安装所有东西,因为我想知道可能导致这种情况的设置。

我可能缺少什么想法?

1 个答案:

答案 0 :(得分:0)

使用带有flex的zend_amf时,

遇到了同样的错误。我正在关注Richard Bates教程VTC Adob​​e Air和PHP开发

最有用的提示是在apache日志中(一旦你右键单击wamp-> Apache-> Apache日志就可以看到)。

默认情况下,最新日志显示在底部。

当flex .swf文件访问它时,找不到包含路径并导致致命错误。

从wamp访问php文件(服务和支持php文件)工作正常。

Apache错误日志示例:

致命错误:require()[function.require]:无法打开所需的'../DBConnection.php'(include_path ='。; c:\ php \ includes; d:\ wamp \ library; D:\ wamp \ www \ EmployeeDirectory \ include \ services')在第3行的D:\ wamp \ www \ EmployeeDirectory \ include \ services \ EmployeeService.php,referer:app:/EmployeeDirectory.swf

所以要么将相关文件的路径添加到php.ini include_path,要么为文件路径使用常量。

感谢理查兹提供了这么棒的教程:)

可替换地:

检查

网关类

为zend

设置了serive类

包含在gateway.php的第一行

$ basedir = $ _SERVER ['DOCUMENT_ROOT']。'YourProjectFolderInWamp /'; 要求($ BASEDIR “包括/服务/ YourService.php”);

记得在某处使用zend amf的set class方法..

$ server-> setClass(new YourService());

相关问题