我正在尝试从PHP文件执行Python脚本
我用PHP制作了一个API,它以post请求的形式接收一个input.csv文件,该文件保存在digital ocean服务器的根用户中。在这个文件的帮助下,我在PHP中使用exec命令运行一个python脚本,该脚本保存在同一digital ocean服务器中根用户的一个文件夹中。运行python脚本后,它将创建另一个名为output.csv的csv文件,该文件随后由API读取,并作为对digital ocean服务器上的hit请求的响应 但我面临的问题是,每当我试图使用邮递员或浏览器作为测试的post请求点击digital ocean服务器的URL时,我都看不到在服务器的根用户组中创建的output.csv文件。但是,我可以看到正在创建的input.csv文件在点击url时作为参数传递。我从分析中可以感觉到的原因是,我创建的php api无法运行python脚本,该脚本生成我感兴趣的output.csv文件的内容 还有一件事,当我从apache服务器点击url时,它来自www数据用户组,python文件所在的服务器来自根用户组。我写这篇文章只是想知道是否有任何与权限相关的问题 我使用exec命令来执行python脚本。下面给出了我的api代码,如有任何帮助,将不胜感激我正在尝试从PHP文件执行Python脚本,php,python,api,server,digital-ocean,Php,Python,Api,Server,Digital Ocean,我用PHP制作了一个API,它以post请求的形式接收一个input.csv文件,该文件保存在digital ocean服务器的根用户中。在这个文件的帮助下,我在PHP中使用exec命令运行一个python脚本,该脚本保存在同一digital ocean服务器中根用户的一个文件夹中。运行python脚本后,它将创建另一个名为output.csv的csv文件,该文件随后由API读取,并作为对digital ocean服务器上的hit请求的响应 但我面临的问题是,每当我试图使用邮递员或浏览器作为测试
<?php
$input_file_content = base64_decode($_POST['file_contents']);
print_r($input_file_content);
$python_file = "/var/www/html/selenium/scrap.py";
$input_file = dirname(__FILE__) . "/input.csv";
$output_file ="/var/www/html/selenium/output2.csv";
file_put_contents($input_file, $input_file_content);
exec("whoami 2>&1", $output, $return_var);
print_r($output);
exec("sudo /root/anaconda2/envs/venv/bin/python " . $python_file);
echo "<final_string>";
echo base64_encode(file_get_contents($output_file));
echo "</final_string>";
?>
这是一篇重复的文章。请看这是一篇重复的文章。请看