繁体   English   中英

使用PHP exec()运行python脚本的权限

[英]Permissions to run a python script with PHP exec()

我正在尝试在PHP中执行以下命令:

<?php exec("xdg-open file") ?>
<?php exec("python file.py") ?>

所有文件都在/var/www/html

其他更简单的命令似乎正在起作用。 例如:

<?php exec("touch file.txt") ?>
<?php echo exec("ls") ?>
<?php echo exec("whoami") ?>

我只是希望能够使用PHP运行任何Python / shell命令(没有需要sudo的那些)。 这是一个许可问题吗? 如果是这样,我该怎么办?

要执行文件,请确保该文件具有可执行权限。

chmod +x file.py

在服务器环境中,如果由另一个进程(例如PHP通过Apache / nginX)运行,则这些权限必须与运行该服务器进程的用户相关联。

例如,假设您的文件名是file.py

必须设置fily.py的权限,以使所有者与Web服务器相同,并且该所有者具有可执行权限。

使用chown我们可以更改所有者,让我们说我们的Web服务器作为http用户和http组运行:

chown http:http file.py

chmod o+x file.py

如果该过程不是所有者,而是在同一组中:

chmod g+x file.py

或两个:

chmod o+x file.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM