2009-07-31 6 views
1

Je lance un appel pour télécharger un fichier XML et l'écrire dans un fichier en utilisant exec() et la commande curl. J'ai essayé d'utiliser curl_exec(), mais il n'a pas été reconnu par mon système PHP.Echec de cURL lors de l'appel de PHP exec()

D'une certaine manière, l'appel cURL échoue maintenant. Ce n'était pas avant, mais un jour je visite mon site et ... WHAM. Au revoir byeer XML.

choses qui ont fait un travail:

  • Appel cURL de la ligne de commande avec le même argument.
  • exec ("ls /");

choses qui ne fonctionnent pas:

  • qui boucle, puis compléter le chemin du cURL dans ma fonction exec.
  • googler l'erreur que la boucle lancers francs quand je sortie les erreurs de la fonction exec

    de ld.so.1: curl: fatal: /opt/csw/lib/libsunmath.so.1: type de fichier inconnu

  • En utilisant shell_exec

  • En utilisant wget accroché en quelque sorte le script. Juste jamais fini.
  • autoflagellation
+0

Votre hôte pouvait-il avoir mis à jour ou modifié vos bibliothèques cURL? – alex

+0

Je suis l'hôte. Parlez-vous des bibliothèques PHP cURL? Je ne pense pas avoir touché à quoi que ce soit dans ce département. Je ne sais pas ce que libsunmath.so.1 est non plus. –

+0

Désolé pour la réponse tardive - et oui je parlais des bibliothèques PHP cURL. Si vous êtes l'hôte, alors je suppose que ce n'est pas votre problème. Bonne chance pour trouver une solution. – alex

Répondre

0

j'ai réussi à coder contourner le problème. J'ai découvert que le script était suspendu avec wget parce qu'un serveur ne répondait pas. Bummer, mais supprimer ce lien a résolu mon problème. C'est triste parce que la façon dont j'utilisais cURL était beaucoup plus propre pour IO. Heureusement, cette mise à jour vérifie les entrées avant de changer les fichiers. Cela crée maintenant un fichier temporaire que wget télécharge et vérifie ensuite que le format est correct avant de déplacer le fichier vers son nouvel emplacement.

Une épreuve, bien sûr, mais beaucoup de bonnes choses à venir de celui-ci.