7
votes

Comment puis-je exécuter CURL comme ligne de commande shell dans php

Si j'essaie d'exécuter cela à l'intérieur d'un script: xxx

i get: xxx

Utilisation de shell_exec: < PRE> XXX

Comment puis-je exécuter Curl en tant que ligne de commande shell?

Ces erreurs se produisent sur Linux, sur mes travaux Mac.


5 commentaires

Pourquoi ne pas utiliser la bibliothèque PHP Curl? php.net/manual/fr/book.curl.php


Il semble que votre serveur PHP ne vous permet pas d'exécuter des commandes shell. Exécutez-vous cela localement ou via un hôte Web? En outre, pourquoi ne pas utiliser la bibliothèque de la courroie?


CURL n'est pas pris en charge sur votre serveur


C'est un serveur Web. Je ne voulais pas utiliser la bibliothèque Curl et le script, il était complet, je ne veux donc pas perdre du temps en réécrivant le script avec la bibliothèque. Je souhaite que PHP avait une bibliothèque de repos décente.


L'environnement EXED () de PHP aura probablement un chemin différent de votre invite de shell régulier. Essayez un chemin complet absolu / usr / local / bin / curl (ou autre) chemin pour l'exécutable CURL.


4 Réponses :


3
votes

Désactiver Mode sans échec code> dans votre fichier php.ini. Vérifiez également si vous avez une boucle installée.

safe_mode = Off


0 commentaires

0
votes

à la commande Commandline, faites ceci: xxx pré>

Cela vous donnera la voie absolue au programme CURL. p>

Vérifiez que Safe_Mode = OFF code> est dans votre php.ini. p>

Lorsque vous avez fait cela, changez votre code sur: P >

<?php exec("path/you/got/from/which/curl http://www.google.com") ?>  


0 commentaires

5
votes

Le problème est que PHP Le mode sans échec est activé et il est préférable d'utiliser le chemin complet pour exécuter curl (merci Ghostjago et Amosrivera). Exécuter le script avec la commande suivante fixe le problème: xxx

Je ne veux pas modifier le php.ini mais cela pourrait aussi être une solution.

shell_exec indique le problème de mode sans échec, mais exec vous indique simplement un mauvais message, j'espère que j'ai essayé à la fois exécu et et et et et shell_exec .


0 commentaires

1
votes

Pour convertir à partir d'une commande Bash (comme vous pouvez copier de Chrome-dev-outils) à PHP, jetez un coup d'œil à ceci: https://incarnate.github.io/curl-to-php/


0 commentaires