我可以从命令行运行curl,但是不能从shell exec

时间:2018-08-16 07:53:33

标签: php windows curl

我想使用shell_exec运行curl并获得响应。 问题是,当我运行curl时,我的shell exec命令不起作用,而当我在curlcmd中运行cygwin时,它的运行正常。 我正在使用laravel 5.6和php 7.2

我可以跑步:

  

shell_exec(“ ping domain.com”);

它返回响应,就像以前一样。

但是我不能跑步:

  

shell_exec(“在这里卷曲一些东西”);

当我使用null时,它会给我dd();当我print_r()时,它会给我空白。

  • 我的curl版本7.61 Windows 10 64bit,打开ssl 1.1.0i
  • 已经在环境上设置路径系统变量

我知道我可以使用食尸鬼,但是我只是想知道为什么它不起作用。

1 个答案:

答案 0 :(得分:0)

请考虑使用PHP Curl(启用PHP curl扩展是必需的)。这是一种更安全的方法-您不需要在许多共享主机上访问shell +,它已被禁用-,并且也可以在Windows下本机运行。

您要解决的问题可能是由于缺少PATH引起的。这就是为什么它可以在cygwin中运行,而不是在本机shell下运行的原因。请注意,PHP执行程序位于本机外壳中。