为了账号安全,请及时绑定邮箱和手机立即绑定

从 php 调用 python 脚本时的权限/用户问题

从 php 调用 python 脚本时的权限/用户问题

PHP
ibeautiful 2022-01-02 20:16:12
我想从 php 打开一个 python 脚本。我的 php 用户是“user23”,它是我的 Ubuntu 18.04 桌面上的主要用户帐户。 开始.php:    <?php     echo 'php user: ' . get_current_user();    $output=shell_exec("python ./test.py");    echo'<br>python script user: ';    echo($output);    echo '<br>Current PHP version: ' . phpversion();    ?>测试.py:    import getpass    import os    print(getpass.getuser())    os.mkdir(getpass.getuser())如果我用 chrome打开http://localhost/start.php,PHP输出:php user: user23python script user: rootCurrent PHP version: 7.1.32因此该脚本有效,但未创建“根”文件夹。PHP错误日志:  File "./test.py", line 4, in <module>    os.mkdir(getpass.getuser())OSError: [Errno 13] Permission denied: 'root'我不明白为什么 php 和 python 用户不同(user23,root)以及 root 用户怎么可能没有创建文件夹的权限(Errno 13] Permission denied: 'root')。如果我打开 start.php,python 用户将是 user23 并且文件夹创建得很好。$ php start.phpphp user: user23<br>python script user: user23<br>Current PHP version: 7.2.19-0ubuntu0.18.04.2如果有问题,我会使用 xampp。我希望你能帮助我,我现在完全迷路了。对不起我的英语不好。
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

也许它可以帮助您使用 sudo 编写 php 代码

shell_exec('echo "PASS" | sudo -u root -S python .test.py');


查看完整回答
反对 回复 2022-01-02
  • 1 回答
  • 0 关注
  • 324 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信