我有一个PHP文件test.php
#!/bin/php <?php echo "test"; ?>
这个由root拥有的文件及其权限就是这些
-rwxr-x--x
所以“他人”可以执行,但不能阅读。
以root用户身份login并尝试从命令行运行此文件时
php test.php
得到以下错误
Could not open input file: test.php
如果给+ r许可它的作品。
我认为只需要执行权限。
PHP文件是否需要读取权限才能在命令行中执行“别人”?
注意:使用Ubuntu 10.04 LTS和PHP 5.3.2
如果它是一个二进制文件,只执行权限就没有问题。 脚本必须具有读取权限,以便他们的解释器可以读取它们。
如果直接使用完整path或者./test.php和shebang行直接执行脚本,则需要执行该脚本。 如果你指定解释器(即.php),解释器需要能够执行代码,所以在这种情况下只需要能够读取代码。
是的,该文件需要为您尝试运行的用户可读。 在一个侧面说明,可执行位不需要设置,如果你这样调用( php /path/to/script.php )。
是的,脚本(非二进制文件)需要r + x权限才能执行。