打印

[FLEX] amfphp中的服务问题

这是我学习《flex第一步中》中的amfphp服务文件代码:
复制内容到剪贴板
代码:
<?php
class ProductService{    
    function ProductService(){
        mysql_connect("localhost", "root","leicht");
        mysql_select_db("Product");
        //
        mysql_query("SET NAMES UTF8");
    }
    function getGroups(){
        $sql = "SELECT * FROM groups";
        return mysql_query($sql);
    }
    function getAllProduct(){
        $sql = "SELECT * FROM products AS p, groups AS g WHERE g.gid = p.group_id";
        
        return mysql_query($sql);
    }
    function searchProduct($keyword,$gid){
        $sql = "SELECT * FROM products AS p, groups AS g WHERE g.gid = p.group_id AND name LIKE '%".$keyword."%'";
        if(isset($gid)){
            $sql = "SELECT * FROM products AS p, groups AS g WHERE g.gid = p.group_id AND name LIKE '%".$keyword."%' AND p.group_id = ".$gid;
        }
        return mysql_query($sql);
    }
}
?>
可在browser中查看的时候却弹出播放器错误窗口。内容为
复制内容到剪贴板
代码:
Error #2044: 未处理的 ioError:。 text=Error #2032: 流错误。 URL: http://127.0.0.1/amfphp/gateway.php
    at RawAmfService()
    at servicebrowser/init()
    at servicebrowser/___Application1_applicationComplete()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.managers::SystemManager/preloader_preloaderDoneHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.preloaders::Preloader/displayClassCompleteHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.preloaders::DownloadProgressBar/timerHandler()
    at mx.preloaders::DownloadProgressBar/initCompleteHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.preloaders::Preloader/dispatchAppEndEvent()
    at mx.preloaders::Preloader/appCreationCompleteHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/set initialized()
    at mx.managers::LayoutManager/doPhasedInstantiation()
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.core::UIComponent/callLaterDispatcher2()
    at mx.core::UIComponent/callLaterDispatcher()
我想请问一下大家大概是我哪部分出了问题,谢谢!
产品人性化-Flex8.net

TOP

流錯誤。
可能是因為這個
http://127.0.0.1/amfphp/gateway.php
地址不存在,或者無法打開。
先直接訪問這個地址試試。

TOP

这个地址可以打开,也提示安装正确,但就是在browser中一call就提示出错。
产品人性化-Flex8.net

TOP

你貼出來的是一個php類。可以訪問,而SWF在瀏覽器中出錯。

NetConnection所連接的。應是一個包含了gateway.php的那個php頁面。
你加載的時候是怎么寫的?

TOP

版主说的是哪个文件?
产品人性化-Flex8.net

TOP

你先參考一下這篇文獻看看有沒有什么啟發
http://www.luar.com.hk/flashbook/archives/000807.php

TOP

版主这是amfphp0.9版的配置方法,现在1.9也是这么配置的么?我已经把网页传到web上去了:http://flex8.net/upload/test/amfphp/browser/
在网上使用没有问题,会不会是沙箱的问题?

[ 本帖最后由 leicht 于 2008-5-13 17:00 编辑 ]
产品人性化-Flex8.net

TOP

這個版本我還沒有用過,我去試試,有結果了再回帖。

down班了,明天再繼續。各位也繼續,一起發言。

[ 本帖最后由 enc0717 于 2008-5-13 17:50 编辑 ]

TOP

附加文件

文件:
http://flex8.net/upload/test/test.rar

顺被说一下,发到网站上后,那个播放器的错误倒是没有了,数据库我还没有链接。

[ 本帖最后由 leicht 于 2008-5-13 18:30 编辑 ]
产品人性化-Flex8.net

TOP

我試了,并沒有發生這樣的報錯。
如果發到網上,就沒有報錯。
127.0.0.1 會不會是和網路上的默認端口號不一致。

TOP

版主的运行环境是什么?
产品人性化-Flex8.net

TOP

上面的问题解决了,不过又提示:
复制内容到剪贴板
代码:
faultCode:Client.Error.MessageSend faultString:'Send failed' faultDetail:'Channel.Security.Error error Error #2048: 安全沙箱冲突:http://127.0.0.1/productManage.swf 不能从 http://localhost/amfphp/gateway.php 加载数据。 url: 'http://localhost/amfphp/gateway.php''
请问怎么回事?谢谢!
产品人性化-Flex8.net

TOP

server2003
有几个地方应该注意的:
一:注意端口被占用的问题.
一:你的服务端文件需要放在amfphp中的services文件夹下.如果是放在services文件中的一个文件夹中,那么你的主类文件中source是需要注意与数据库链接的php文件的路径的.
三:services_config.xml文件中的destination的id必须是与主类文件中的destination的id是一致的并且是唯一的.

TOP