[英]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.