doutuo7609 2018-08-16 07:53
浏览 452
已采纳

我可以从命令行运行curl但不能从shell exec调用

I want to use shell_exec to run curl and get the response. The problem is that my shell exec command doesn't work when I run curl, it works fine when I run curl in cmd or cygwin. I'm using laravel 5.6 with php 7.2

I can run:

shell_exec("ping domain.com");

It return response like it has used to.

But I can't run:

shell_exec("curl some thing here");

It gives me null when I use dd() or blank when I print_r().

  • My curl version 7.61 windows 10 64bit, open ssl 1.1.0i
  • Already set path system variable on environment

I know I can use guzzle, but I am just wondering why it doesn't work.

  • 写回答

2条回答 默认 最新

  • dourang6858 2018-08-16 08:10
    关注

    Consider using PHP Curl (IT's necessary to enable PHP curl extension). It's a safer way - You dont need to access shell + on many shared hostings, it's disabled - and also works natively under Windows.

    The problem you are fighting off is caused probably by missing PATH. That's why it works in cygwin, not under native shell. Note that PHP execs in native shell.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器