Question

J'utilise Flex et PHP pour développer mon projet. Tout fonctionne très bien dans ma machine locale. Cependant, quand je télécharge mes fichiers sur mon serveur (godaddy.com). Je suis l'erreur lors du chargement de mon application Flex.

Le message d'erreur pop-up est

Échec de l'envoi channel.connect.failed.error Netconnection.call.Badversion: url: http: //mydomail/folder/gateway.php

J'ai télécharger mon dossier ZendFramewrok dans mon serveur et amf_config.ini a été configuré. (Webroot = http: // mondomaine ) Je ne sais pas ce qui se passe ici. aide s'il vous plaît. Merci.

Mise à jour: mon 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'; //I did upload the ZendFramwork folder

//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'];
 }
}


// Setup include path
 //add zend directory to include path
set_include_path(get_include_path().PATH_SEPARATOR.$zenddir);
// Initialize Zend Framework loader
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
// Load configuration
$default_config = new Zend_Config(array("production" => false), true);
$default_config->merge(new Zend_Config_Ini($configfile, 'zendamf'));
$default_config->setReadOnly();
$amf = $default_config->amf;

// Store configuration in the registry
Zend_Registry::set("amf-config", $amf);
// Initialize AMF Server
$server = new Zend_Amf_Server();
$server->setProduction($amf->production);
if(isset($amf->directories)) {
 $dirs = $amf->directories->toArray();
 foreach($dirs as $dir) {
     // get the first character of the path. 
     // If it does not start with slash then it implies that the path is relative to webroot. Else it will be treated as absolute path
     $length = strlen($dir);
     $firstChar = $dir;
     if($length >= 1)
      $firstChar = $dir[0];

     if($firstChar != "/"){
      // if the directory is ./ path then we add the webroot only.
      if($dir == "./"){       
       $server->addDirectory($webroot);
      }else{
       $tempPath = $webroot . "/" . $dir;
    $server->addDirectory($tempPath);
   }     
  }else{
      $server->addDirectory($dir);      
  }
 }
}
// Initialize introspector for non-production
if(!$amf->production) {
 $server->setClass('Zend_Amf_Adobe_Introspector', '', array("config" => $default_config, "server" => $server));
 $server->setClass('Zend_Amf_Adobe_DbInspector', '', array("config" => $default_config, "server" => $server));
}
// Handle request
echo $server->handle();

erreur de gateway.php si je l'appelle directement.

Avertissement: require_once (Zend / chargeur / Autoloader.php) [Function.require-fois]: pas flux ouvert: Aucun fichier ou répertoire /home/content/79/4687979/html/parkerList/gateway.php sur la ligne 27

Fatal error: require_once () [function.require]: Echec ouverture requise 'Zend / chargeur / Autoloader.php' (Include_path = »:. / Usr / local / php5 / lib / php: http://blackwheels.info/ / ZendFramework / bibliothèque ') dans /home/content/79/4687979/html/parkerList/gateway.php sur la ligne 27

Pekka. tu as raison. gateway.php est le rat. mais je ne peux toujours pas comprendre ce qui ne va pas. Zend / chargeur / Autoloader.php est sous la racine du serveur de dossier « ZendFramework / bibliothèque ». Je ne comprends pas pourquoi mon application ne peut pas le trouver. Merci encore!

Était-ce utile?

La solution

J'ai eu le même problème et je l'ai résolu en corrigeant les chemins de commande « require » ou « require_once ».

Il est en cours d'exécution sur OK lorsque localhost Windows, mais après le téléchargement sur mon serveur linux, tous mes chemins nécessite la mise à jour nécessaires, en raison des barres obliques. Linux comprend différemment;)

En fonction de votre commentaire à pukka, votre problème serait résolu en changeant la ligne 27 à

require_once $zenddir. '/Zend/Loader/Autoloader.php';

L'espoir cela aide à quelqu'un dans la même situation que nous étions.

BTW dittonamed a raison, ces outils sont vraiment super, je viens d'utiliser différents (Charles ou Wireshark - ce qui est un peu lourd), mais il n'y aurait pas de progrès sans eux)

Autres conseils

Mon pari est que c'est gateway.php qui jette une erreur, et le résultat garbling vos applications Flex attend de. Pouvez-vous essayer d'appeler directement gateway.php?

Il semble que votre inclure_nom_rép est mal réglé. Vous dites que Autoloader.php est ZendFramework/library. Pour que se trouve, vous devez configurer PHP pour regarder dans ce répertoire pour inclure des fichiers.

Vous pouvez régler cela avec set_include_path

Ce service est l'endroit où la capture est à portée de main - il vous montrera l'avant et en arrière communication avec Flex / PHP et si son plantage - va aussi vous montrer la trace PHP normale

http://www.kevinlangdon.com/serviceCapture/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top