我试图使用 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
1 回答

守候你守候我
TA贡献1802条经验 获得超10个赞
尝试通过附加
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
- 1 回答
- 0 关注
- 266 浏览
添加回答
举报
0/150
提交
取消