OVH Community, votre nouvel espace communautaire.

Tâche CRON (Mutualisé) request failed: error reading the headers


janus57
11/02/2016, 18h17
Citation Envoyé par tristanIT
Bonjour,

Bon je pense avoir trouvé la solution, ma tâche cron s'est correctement exécuté lorsque j'ai mis la connexion en FTP en mode passif.
Bref c'était bien "vicelard"
Bonjour,

il me semble que ceci est dans un guide OVH.

EDIT :
confirmé : https://www.ovh.com/fr/g1463.mutuali...hp_ftp_via_php

Cordialement, janus57

tristanIT
11/02/2016, 11h03
Bonjour,

Bon je pense avoir trouvé la solution, ma tâche cron s'est correctement exécuté lorsque j'ai mis la connexion en FTP en mode passif.
Bref c'était bien "vicelard"

tristanIT
10/02/2016, 18h03
Bonjour,
Il s'agit du site xxxxxxxx (édité)

Pour contextualiser mon script : ce script est chargé de télécharger des données sur un FTP distant, vider une table de la BDD et la re-remplir avec les nouvelles données.

J'ai effectué pas mal de test aujourd'hui, mon script s'exécute (malgré le message dans le log) mais s'arrête vu qu'il y a une erreur (non logué) sur une fonction PHP de mon code.

Le problème se passe sur $ftp->downloadFile,
Code:
$ftp = new FTPClient();

if($ftp->connect($ftp_host, $ftp_login, $ftp_pwd))
{
  // download datas
  $ftp->downloadFile('/datas/pfvp.csv', $tmp_datas_path . 'pfvp.csv');
  $ftp->downloadFile('/datas/photos.txt.zip', $tmp_datas_path . 'photos.txt.zip');
Code:
  public function downloadFile($fileFrom, $fileTo)
  {
    // transfer mode
    $asciiArray = array('txt', 'csv');
    $extension = end(explode('.', $fileFrom));
    if (in_array($extension, $asciiArray))
    {
      $mode = FTP_ASCII;
    }
    else
    {
      $mode = FTP_BINARY;
    }

    // try to download $remote_file and save it to $handle
    if (ftp_get($this->connectionId, $fileTo, $fileFrom, $mode, 0))
    {
      $this->logMessage(' file "' . $fileTo . '" successfully downloaded');
      return true;
    }
    else
    {
      $this->logMessage('There was an error downloading file "' . $fileFrom . '" to "' . $fileTo . '"');
      return false;
    }
  }
La fonction $ftp->downloadFile fonctionne très bien quand j'appel le script directement depuis le navigateur mais ne semble pas fonctionner en tant que tâche CRON.

J'ai supposé un problème de droits, j'ai mis tous mes fichiers et dossiers le nécessitant en 0755, les fichiers ne sont toujours pas téléchargés.

JuGU
10/02/2016, 12h54
Bonjour,

Peux-tu me communiquer le nom de ton site ou ton nic pour que je puisse consulter ton dossier s'il te plaît ?

Merci d'avance.

tristanIT
10/02/2016, 09h58
Bonjour,

J'ai mis en place une tâche cron qui s'exécute 1 fois par jour, seulement depuis sa mise en place, impossible de la faire fonctionner, j'ai continuellement le même message d'erreur :

[Wed Feb 10 07:53:02 2016] [error] [client 10.0.55.81] [host xxxxxxx.cluster007.ovh.net] request failed: error reading the headers
Le script appelé fonctionne lorsque qu'il est appelé directement en http depuis le site en prod, il fonctionne également en environnement de dev. en mode cli ou en tâche cron.
=> Pour bien contextualiser : il n'y a que chez OVH que j'ai l'erreur ci-dessus.
=> Le script fait partie d'un module Joomla que j'ai créé.

J'ai suivis la doc d'OVH pour les tâches CRON, ça n'a pas marché, j'ai suivi une doc sur le forum d'OVH faite par un utilisateur, ça n'a pas marché non plus.
J'ai l'impression d'avoir tout essayé et je suis à court d'idée, me voilà pour solliciter votre aide

Code:
#!/usr/local/bin/php
commit();

exit(0);
?>