Script qui génère une erreur en ssh

WRInaute accro
j'ai une tache cron qui ne fonctionne pas, c'est une tache qui utilise file() pour lire des flux en ligne
quand j'execute le script manuellement je n'ai aucun probleme, donc j'ai ecrit a l'hebergeur pour savoir le probleme avec cette tache cron et il m'a répondu:

"Si l'on excute ce script en ssh sur le serveur, celui-ci renvoit :
X-Powered-By: PHP/4.4.9
Content-type: text/html
erreur config"

je vois pas comment corriger un script qui ne génère pas d'erreur (sans ssh). Une idée ?
 
WRInaute accro
Ce qui me semble bizarre c'est:
Code:
Content-type: text/html
Si j'ai bien compris, c'est un script PHP lancé en ligne de commande ? Ça ne devrait pas renvoyer ce content-type.
Tu as bien mis:
Code:
#!/usr/bin/php
Au tout début ?
 
WRInaute accro
je n'ai pas acces aux lignes de commande c'est un mutu

le problème pourrait venir de la fonction file(), je la garde car cette fonction renvoie le résultat dans un tableau.

j'ai fais un test avec fopen() juste pour tester la validé des urls que je flude et il m'a renvoyé 1 erreur sur 1 url, alors que file() ne renvoyait rien, j'ai zapé l'url pourrie et remonté le script en ligne. C'est ma seule piste
 
WRInaute accro
up

l'hebergeur autorise le ssh meme en mutalisé (OVH)
j'ai installé SSH Secure Shell qui est pa mal du tout comme logiciel
http://www.colorado.edu/its/docs/authenticate/printouts/win_ssh.html

j'ai lancer le script en ligne de commande
xxxx@ssh1:~$ php cron/actualite.php

je retrouve la meme erreur que l'hebergeur:
X-Powered-By: PHP/4.4.9
Content-type: text/html
erreur config

en ajoutant #!/usr/bin/php
il ya l'erreur suivante:
-xxx: !/usr/bin/php: event not found

edit: youpi, j'ai fini par debugger, (j'avais mis les fonctions (en include) qui elles contenaient des logs de connexions par défaut)
 
WRInaute accro
Bonjour Monsieur

Il y a deux types d'interpréteurs php : Le cli et le cgi.

L'interpréteur php cli, est celui utilisé en ligne de commande, il ne renvoit pas l'en-tête que vous avez mentionné, en sus des données rendu par le script php lancé.

Normalement, il devrait y avoir un interpréteur cli sur votre hébergement, soit au répertoire /usr/bin/ , soit au répertoire /usr/local/bin/ , soit tout autre répertoire biscornu. Il faut se renseigner à ce sujet.

Il semblerait, que l'interpréteur php que vous utilisez, soit en mode cgi, qui est réservé aux scripts php lancés à distance par le protocole http.

Il est probable, que ces en-têtes, brouillent les résultats de votre script, et occasionnent l'erreur.

Bien à vous.

Amicalement.

Jean-François Ortolo
 
WRInaute accro
bonjour,

pas de mode CLI en mutu chez ovh :?

quelque que soit le script lancé en ligne de commande SSH, il me renvoie une entete.

Ce n'est pas ce retour de l'entete qui brouillait le script vu qu'elle est renvoyé a chaque traitement, nous avions dans un ficher config une variable ($_SERVER['HTTP_HOST'] )non renseignée. Le script fonctionnait bien a partir d'un navigateur mais pas lancé a partir d'une tache cron.

j'ai decouvert le mode SSH et c'est bien pratique pour debugger. SSH Secure Shell se configure comme un logiciel FTP. J'avais commencé avec Putty mais je l'ai trouvé trop obsolète comme logiciel (juste une fenetre, pas un bouton). SSH Secure Shell a plusieurs options, il peut aussi s'utiliser comme un logiciel ftp pour deplacer, supprimer, copier des fichiers avec 2 fenetres, celle du serveur et celle de la machine local.
 
WRInaute accro
KOogar a dit:
SSH Secure Shell a plusieurs options, il peut aussi s'utiliser comme un logiciel ftp pour deplacer, supprimer, copier des fichiers avec 2 fenetres, celle du serveur et celle de la machine local.

Il y a WinSCP qui fait ça aussi ;)
J'ai troqué Filezilla pour WinSCP depuis un bon moment.
 
Discussions similaires
Haut