umierajúce Nette pri volaní cURL exec
- DOBss
- Člen | 24
Zdravím,
už 3. deň riešim problém s curl a Nette. Problém spočíva v tom, že pri volaní curl_exec nevedno prečo zhodí debuger, ktorého JS sa očividne nevykonávajú. Proste to zobrazí všetky jeho okná cez stránku, kde sa potom nedá pracovať… na volanej stránke je zapnutý apache autentificator (htpasswd), ale v tom problém neni, po vypnutí problém pretrváva. Robím niečo zle? Tu je screen s chybou a kód modelu (v actione presenteru sa volá nad instancoiu Inoice metóda testIt)
https://www.dropbox.com/…lvg/curl.jpg
class Invoice extends Nette\Object {
/** @var Nette\Database\Connection */
private $database;
private $invoices;
protected $interface;
protected $postData;
protected static $conf = array(
'ssl' => false,
'domain' => "domain.co",
'filepath' => "invoice-interface",
'key' => "app-key",
'authData' => array('xxxx', 'yyyy')
);
/**
* Prepare database connection, tables and interface connection
*
* @var connection, table, resource curl
*/
public function __construct(){
$this->database = new Database;
$this->database = $this->database->getDb();
$this->invoices = $this->database->table('invoices');
$this->initInterfaceConnection();
}
/**
* Close interface connection
*/
public function __destruct(){
if(gettype($this->interface) == 'resource')
curl_close($this->interface);
}
protected function initInterfaceConnection(){
if($this->interface !== NULL)
curl_close($this->interface);
$this->interface = curl_init();
curl_setopt($this->interface, CURLOPT_URL, (self::$conf['ssl'] ? 'https' : 'http')."://".self::$conf['domain'].'/'.self::$conf['filepath']);
curl_setopt($this->interface, CURLOPT_USERPWD, "user:pass");
$this->postData = array(
'key' => self::$conf['key'],
'pass' => self::$conf['authData'][0].'*'.self::$conf['authData'][1]
);
}
public function testIt(){
curl_setopt($this->interface, CURLOPT_POST, TRUE);
curl_setopt($this->interface, CURLOPT_POSTFIELDS, $this->postData);
$res = curl_exec($this->interface);
curl_close($this->interface);
return $res;
}
}
uvažoval som nad použitím komponenty cURL wrapper (https://componette.org/search/?…) od F. Procházku, ale toto má byť custom integrácia k fakturačnému systému a preto by som nechcel využívať žiadne komponenty pokiaľ to neni nutné…
Editoval DOBss (6. 5. 2013 19:20)
- Filip Procházka
- Moderator | 4668
Na tom tvém screenu žádnou chybu nevidím, jenom zbytečně moc rout.
Neboj se to rozšíření použít, má to opensource licenci a můžeš to mít v jakémkoliv software ;)
- DOBss
- Člen | 24
Filip Procházka napsal(a):
Na tom tvém screenu žádnou chybu nevidím, jenom zbytečně moc rout.
Neboj se to rozšíření použít, má to opensource licenci a můžeš to mít v jakémkoliv software ;)
no uvidíme, možno to skúsim, či to nevyrieši chybu… ale chyba tam je, lebo tie panely sa neskrývajú, akoby nefungoval JS debugera… a to len na tomto presentery pri volaní curl_exec (ak ho zakomentujem, tak je to vpoho)