我正在开发基于php flash的应用程序并关注this tutorial。
我的localhost
PC上的所有东西都运行良好,但不是在实时服务器CentOS上运行。
本教程指导将amfphp库保留在应用程序的librarires
目录中,并在gateway
中创建一个控制器“controllers/amf
”,并将控制器作为服务创建到controllers/amf/services
。
我已经正确地遵循了这一点,并且我能够在localhost上顺利运行它。此外,删除子目录amf
也正常工作
现场直播
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.BadVersion
at amfphpconnection_fla::MainTimeline/frame1()
来自AS的连接需要
http://domain.com/index.php/amf/gateway
我正在尝试不同的技巧使其工作,我发现如果我将服务从/ controller / services / serices文件夹保存到amf本身所在的应用程序/库中并更改网关中服务的路径,那么flash就能够当我将闪存中的路径更改为
时到达文件http://domain.com/application/libraries/Amfphp/
但是,在我从服务文件中删除extends CI_Controller
和constructor function
或get_instance()
之前,它仍然无法正常运行。要么提出相同的错误。这只是运行文件,但对我来说没用,因为它无法使用CI框架。
在AS中使用控制器路径是必需的,我认为这与文件访问权限有关,因为它在PC上工作正常,而不是在Linux上工作。
我也试图查看 Apache错误日志,但没有任何可能的错误迹象。
看了很多网站寻求帮助但尚未成功..
还在project site本身发布了错误,但目前还没有更新
任何帮助将不胜感激
此致
答案 0 :(得分:0)
我遇到了同样的问题,并且阅读我在Windows上看到的AMFPHP网站没有敏感的案例文件。
因此,在CI中,他们说,“将您的类命名为'myclass.php'并在内部声明My_class扩展CI_Controller”。我在flash中做了什么?我打电话给“My_class”服务。由于我使用windows进行localhost,AMFPHP可以找到该文件并正常工作。
但不是在Linux上。所以,在flash中,我称之为“this.connection.call(”my_class“,”mymethod“等)”并且一切正常。
希望这对某人有用。因此,如果您在Linux环境中进行部署,请仔细检查您的AMF呼叫的大小写拼写,并确保您从flash中调用 gateway.php 您的服务文件的完美名称,不文件中类的名称。
欢呼声。
答案 1 :(得分:0)
我也遇到了这个问题,我正在开发OSX,我看到了错误
faultString =>未找到测试服务
这一个......
* faultDetail => #0 /home/myserver.com/public_html/project/ci/application/libraries/Amfphp/Core/Common/ServiceRouter.php(100):Amfphp_Core_Common_ServiceRouter-> getServiceObject('Testservice') 1 /home/myserver.com/public_html/project/ci/application/libraries/Amfphp/Core/Amf/Handler.php(107):Amfphp_Core_Common_ServiceRouter-> executeServiceCall('Testservice','getAll',Array) 2 /home/myserver.com/public_html/project/ci/application/libraries/Amfphp/Core/Amf/Handler.php(138):Amfphp_Core_Amf_Handler-> handleRequestMessage(Object(Amfphp_Core_Amf_Message),Object(Amfphp_Core_Common_ServiceRouter)) 3 /home/myserver.com/public_html/project/ci/application/libraries/Amfphp/Core/Gateway.php(199):Amfphp_Core_Amf_Handler-> handleDeserializedRequest(Object(Amfphp_Core_Amf_Packet),Object(Amfphp_Core_Common_ServiceRouter)) 4 /home/myserver.com/public_html/project/ci/application/controllers/amf/gateway.php(39):Amfphp_Core_Gateway-> service() 5 /home/myserver.com/public_html/project/ci/system/core/CodeIgniter.php(339):网关 - > index() 6 /home/myserver.com/public_html/project/ci/index.php(202):require_once('/ home / ncubator / ...') 7 {main} *
我使用的文件来自谷歌代码页,我没有更改网关文件。我刚刚更改了testservice.php内容以适合我的项目。我的基本网址是
http://myserver.com/project/ci/index.php/amf/gateway
您能否提供一下您提出的解决方案?
谢谢!
答案 2 :(得分:0)
嗯,据我所知,通过AMFPHP
Flash进行Flash通信只接受预期的内容,如果 之前的任何内容结果Bad Connect
闪存结束时的错误...正如我在ppalmeid's
的评论中已经提到的那样,回答我的问题是因为包含了第三方library that was loading automatically
并且它是 printing some HTML characters in the output that was causing the Flash to blow
强>
只需检查屏幕上是否有任何字符/警告/通知等字样。
希望这可以帮助其他人面对同样的问题。
此致 朱奈德