Si j'essaie d'exécuter cela à l'intérieur d'un script: i get: p> Utilisation de shell_exec: p> < PRE> XXX PRE> Comment puis-je exécuter Curl en tant que ligne de commande shell? p> Ces erreurs se produisent sur Linux, sur mes travaux Mac. P> P>
4 Réponses :
Désactiver Mode sans échec code> dans votre fichier php.ini. Vérifiez également si vous avez une boucle installée.
safe_mode = Off
à la commande Commandline, faites ceci: Cela vous donnera la voie absolue au programme CURL. p> Vérifiez que Lorsque vous avez fait cela, changez votre code sur: P > Safe_Mode = OFF code> est dans votre php.ini. p>
<?php exec("path/you/got/from/which/curl http://www.google.com") ?>
Le problème est que Je ne veux pas modifier le PHP code> Le mode sans échec est activé et il est préférable d'utiliser le chemin complet pour exécuter
curl code> (merci Ghostjago et Amosrivera). Exécuter le script avec la commande suivante fixe le problème:
php.ini code> mais cela pourrait aussi être une solution. P >
shell_exec code> indique le problème de mode sans échec, mais
exec code> vous indique simplement un mauvais message, j'espère que j'ai essayé à la fois
exécu code> et
et
et
et
et
shell_exec code>. p> p>
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/ p>
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.