0

从 php 运行 python 脚本时,我无法理解权限系统。看起来很微妙,我会尽量简化这个问题。

情况如下。我有:

  • 位于 /var/www/ 中的 python 脚本myscript.py
  • 位于 /var/www/的 php 脚本myscript.php
  • 位于 /home/some_folder/ 中的文件foo.txt 。重要提示: foo.txt 仅具有 'r' 权限。

在 myscript.php 中:

exec('python myscript.py')

在 myscript.py 中:

f = open('/home/some_folder/foo.txt', 'r')

测试 1

从 /var/www/ 中的命令行运行 myscript.py:它确实打开了 foo.txt,不管它的位置。

测试 2

运行 myscript.php: foo.txt 没有打开。

测试 3

将 foo.txt 的位置更改为 /var/www/,相应地更改 myscript.py 并运行 myscript.php :打开 foo.txt。

所以......在这里我试图了解测试2有什么问题:给出了读取权限,那么可能会发生什么阻止python脚本完成它的工作?

这更多是出于好奇,因为很容易找到解决方法。但是我很困扰,并且对这些事情的理解还不够,无法想出一个体面的想法,为什么它不起作用。我相信你们中的一些人会的,我提前感谢他们:)

4

0 回答 0