Comment puis-je exécuter curl comme une ligne de commande shell en PHP
Si j'essaie d'exécuter ce à l'intérieur d'un script:
<?php exec("curl http://ww.google.com") ?>
J'obtiens:
-bash-3.2$ php test.php
sh: /curl: No such file or directory
à l'aide de shell_exec:
PHP Warning: shell_exec(): Cannot execute using backquotes in Safe Mode...
Comment puis-je exécuter curl comme une ligne de commande shell?
Ces erreurs sont passe sur Linux, sur mon mac fonctionne.
Pourquoi ne pas utiliser le php curl bibliothèque? php.net/manual/en/book.curl.php
Il ressemble à votre serveur PHP ne vous permettent d'exécuter des commandes shell. Êtes-vous de l'exécution de cette localement ou par l'intermédiaire d'un hébergeur? Aussi, pourquoi ne pas utiliser la boucle de la bibliothèque?
curl n'est pas pris en charge sur votre serveur
C'est un serveur web. Je n'ai pas envie d'utiliser CURL bibliothèque et le script il était complet, donc je ne veux pas perdre de temps par la réécriture du script avec la bibliothèque. Je souhaite que PHP a un décent RESTE de la bibliothèque.
PHP exec() de l'environnement aura probablement une autre voie que votre invite de commande shell. Essayez plein absolue /usr/local/bin/curl (ou autre) chemin d'accès pour le curl exécutable.
Il ressemble à votre serveur PHP ne vous permettent d'exécuter des commandes shell. Êtes-vous de l'exécution de cette localement ou par l'intermédiaire d'un hébergeur? Aussi, pourquoi ne pas utiliser la boucle de la bibliothèque?
curl n'est pas pris en charge sur votre serveur
C'est un serveur web. Je n'ai pas envie d'utiliser CURL bibliothèque et le script il était complet, donc je ne veux pas perdre de temps par la réécriture du script avec la bibliothèque. Je souhaite que PHP a un décent RESTE de la bibliothèque.
PHP exec() de l'environnement aura probablement une autre voie que votre invite de commande shell. Essayez plein absolue /usr/local/bin/curl (ou autre) chemin d'accès pour le curl exécutable.
OriginalL'auteur rtacconi | 2011-09-27
Vous devez vous connecter pour publier un commentaire.
Le problème est que
PHP
le safe mode est sur et il est préférable d'utiliser le chemin d'accès complet à exécutercURL
(merci ghostJago et amosrivera). L'exécution du script avec la commande suivante résolu le problème:Je ne veux pas changer le
php.ini
mais il pourrait être aussi une solution.shell_exec
indique le mode sans problème, maisexec
juste vous dire un mauvais message, espérons-le, j'ai essayé les deuxexec
etshell_exec
.OriginalL'auteur rtacconi
Désactiver
safe mode
dans votre php.fichier ini. Vérifiez également si vous n'avez installé curl.OriginalL'auteur amosrivera
Pour convertir à partir d'une commande bash (que vous pouvez copier à partir de chrome-dev-tools) pour php jeter un oeil à ceci: https://incarnate.github.io/curl-to-php/
OriginalL'auteur simon
à la ligne de commande, ce faire:
Cela vous donne le chemin absolu de la boucle du programme.
Puis vérifiez que
safe_mode = Off
est dans votre php.ini.Lorsque vous avez fait cela, modifiez votre code pour:
OriginalL'auteur ghostJago