Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2007, 09h01   #1
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
Par défaut Route pour lancer un crontab

[Inutile de lire le début, ça c'est résolu ^^ Rdv ici

Bonjour,
J'ai un soucis lorsque que je tente de faire appel à un script via la fonction fopen. J'ai pourtant déjà utilisé cette fonction à cette fin, sans problème...
Voici le message d'erreur que je reçoit :
Citation:
Warning: fopen(http://www.google.fr) [function.fopen]: failed to open stream: Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu. in C:\wamp\www\intralltub_general\crontabs\launchRelance.php on line 4

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\intralltub_general\crontabs\launchRelance.php on line 4
Je précise que la variable de configuration "allow_url_fopen" est à On. Le fichier que je tente d'appeller est la page de Google (par exemple, j'ai essayé avec d'autres naturellement).
Si vous voyez une quelconque erreur là dedans, je suis tout ouie :

Code :
1
2
3
4
5
6
7
8
 
<?php
//Fichier "launchRelance.php"
session_start();
$_SESSION['verifAppel']=true;
$fic=fopen('http://www.google.fr','r');
print_r($fic);
?>

[Recherche de solution alternative : explications]

Le but de la manoeuvre est de lancer un script de manière automatique, via une tache planifié Windows. Pour ça, je ne peux pas passer par le systeme de fichier car j'utilise le framework Zend, et je dois faire appel à une action d'un controlleur : je dois donc passer par le protocole http. Ces 4 lignes servent à ça : je compte faire appel à ce petit script via l'invite de commande, qui se chargera de lancer mon action. SI vous connaissez une solution pour lancer une url via l'invite de commande Windows, ça me va aussi

Voilà mon petit script .bat, si ça peut aider :

Code :
1
2
3
 
cd c:\wamp\www\intralltub_general\crontabs\
c:\wamp\php\php.exe -f launchRelance.php

Ps : bon je pensais parler seulement de la fonction fopen, j'ai posté dans ce forum du coup, mais finalement je parle de tache planifiée, de script windows, du ZF, etc... Si vous voulez déplacer ce message, libre à vous (moi je vois franchement pas où le caser )
__________________
HADOPI : black-out du net!
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 09h47   #2
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
J'ai trouvé!
C'est une histoire de proxy : il faut le lui préciser... J'ai donc utilisé cUrl, ça donne ça:

Code :
1
2
3
4
5
6
7
8
9
 
session_start();
$_SESSION['verifAppel']=true;
$p_curl=curl_init('http://www.google.fr');
curl_setopt($p_curl, CURLOPT_PROXY, 'ipduproxy:portduproxy');
//edit : j'avais oublié cette ligne, c'est plus mieux comme ça :
curl_setopt($p_curl, CURLOPT_RETURNTRANSFER, true);
curl_exec($p_curl);
echo '<pre>'.print_r(curl_getinfo($p_curl), true).'</pre>';
__________________
HADOPI : black-out du net!
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 09h50   #3
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
En lisant ton post, tout a l'heure, je me suis dit "j'ai déjà vécu cette journée ou quoi?". J'aurai juré avoir déjà vu un probleme de ce genre dans le forum hier !
Et j'ai remis le doigt dessus quand t'as trouvé ta solution !
Le post en question http://www.developpez.net/forums/sho...ighlight=proxy

Tout ca pour dire que tu n'es pas obligé d'utiliser curl apparemment!
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 09h57   #4
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
Effectivement
J'avais chercher sur le forum, mais bon comme d'hab pas avec les bons mots clefs
Je pense conserver Curl, j'ai mon serveur perso donc pourquoi pas... Il y a des différences de performances?
__________________
HADOPI : black-out du net!
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 10h48   #5
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
Bon, j'ai encore un soucis...
Lorsque je lance mon truc dans la console, ça ne marche pas avec Curl (fonciton indéfinie, apparement il ne charge pas les extensions, si vous avez des infos...).

J'ai donc pris la solution que Koopajah m'a donné, et j'ai un nouveau message d'erreur:

Citation:
Proxy Error

The proxy server received an invalid
response from an upstream server.

The proxy server could not handle the request GET http://localhost/intralltub_general/...me_ehs/relance.

Reason: Could not connect to remote machine: Success
Pour rappel, mon code du crontab est le suivant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
session_start();
$_SESSION['verifAppel']=true;
 
$aContext = array(
    'http' => array(
        'proxy' => 'xxxx:80', // This needs to be the server and the port of the NTLM Authentication Proxy Server.
        'request_fulluri' => true,
        ),
    );
 
$cxContext = stream_context_create($aContext);
fopen('http://localhost/intralltub_general/programme_ehs/relance', 'r', null, $cxContext);
Son but est d'appeler l'action d'index du controller relance.
Je suppose qu'il s'agit d'un problème lié au ZF (il doit pas comprendre les routes, je pense). Peut-on déplacer la discussion là bas? sinon je peux aussi créer un nouveau sujet, éventuellement.
__________________
HADOPI : black-out du net!
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 11h29   #6
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
Je pense à un truc, là : ça pourrait pas venir tout simplement du fait qu'il ne faut pas de proxy pour les adresses locales? Mais dans ce cas, pourquoi ça marche pas quand je ne lui en mets pas?
Pour l'instant, je ne suis sûr que d'une chose : j'ai mal au crâne

Edit : un élément de réponse : il arrive sur index.php (mon bootstrap) quand je remplace localhost par 127.0.0.1:80 sans proxy, mais il ne trouve pas le controller (?!)
edit 2 : d'ailleurs, c'est aps le controller qu'il ne trouve pas, mais apparement il prend mon module pour un controlleur
__________________
HADOPI : black-out du net!
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h00.


 
 
 
 
Partenaires

Hébergement Web