0

我正在使用 ZendAMF 协议使用 Flex 和 PHP 开发一个 Web 应用程序。从昨天开始,每当我将应用程序发布到远程服务器时,都会出现这个奇怪的问题。本地一切正常,只有当我在服务器上发布它时。这是我得到的错误消息:

Send failed
Channel.Security.Error error Error #2048: Security sandbox violation: http://mydomain.com/login/MainFrame.swf cannot load data from http://localhost/bin-debug/gateway.php. url: 'http://localhost/bin-debug/gateway.php'

我很确定我的 gateway.php 和 amf_config 文件没有任何问题,因为我知道它们略有不同。(我正在使用这些文件从事情确实有效的备份位置)

此外,我还在 Web 根目录和它自动进入的应用程序目录上复制了我的 crossdomain.xml。这是内容:

<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>

问题是在生产版本中它仍在尝试访问本地文件。我已经尝试过很多关于这个问题的搜索,但没有找到与我的情况相同的情况。

gateway.php 源码部分

<?php
ini_set("display_errors", 1);
$dir = dirname(__FILE__);
$webroot = $_SERVER['DOCUMENT_ROOT'];
$configfile = "$dir/amf_config.ini";

//default zend install directory
$zenddir = $webroot. '/ZendFramework/library';

//Load ini file and locate zend directory
if(file_exists($configfile)) {
    $arr=parse_ini_file($configfile,true);
    if(isset($arr['zend']['webroot'])){
        $webroot = $arr['zend']['webroot'];
        $zenddir = $webroot. '/ZendFramework/library';
    }
    if(isset($arr['zend']['zend_path'])){
        $zenddir = $arr['zend']['zend_path'];
    }
}

接下来我可以尝试什么来解决这个问题?

4

1 回答 1

-1

http://mydomain.com/需要来自的信息http://localhost/

在这种情况下,您http://localhost/crossdomain.xml应该允许来自http://mydomain.com/

只要确保你的 crossdomain.xml 没问题

于 2013-07-26T14:39:03.150 回答