php shell_exec 命令没有给出 ubuntu 中 python 脚本的输出

我试图使用 shell_exec 命令从 php 调用 python 文件。但是 shell_exec 没有给出任何输出。


我在终端上运行 python 脚本,它给了我正确的输出


  python3 var/www/html/thilina/assets/documents/threadsearch.py keyword,equipment_types/2

这就是我在控制器中调用 python 脚本的方式


  $key = $this->input->post('search');//from ajax       

  $fnum = $this->input->post('sub');//from ajax      

  $sym = $key.",".$fnum;//search key + 2   

  $chk = FCPATH."/assets/documents/threadsearch.py";

  $chk = str_replace('\\', '/', $chk);

  $output = shell_exec("python3 $chk $sym");//get the output from python script


狐的传说
浏览 267回答 1
1回答

守候你守候我

尝试通过附加2>&1到命令来捕获错误流:$output = shell_exec("python3 $chk $sym 2>&1");参见PHP - How to get Shell errors echoed out to screen您可能存在操作系统命令注入漏洞(您将用户输入与 shell 命令连接起来)。请参阅https://portswigger.net/web-security/os-command-injection
打开App,查看更多内容
随时随地看视频慕课网APP