我有一个php文件test.php
#!/bin/php
<?php
echo "test";
?>根用户拥有的这个文件及其权限如下
-rwxr-x--x 所以“其他人”可以执行,但不能读取。
当以root以外的其他用户身份登录并尝试从命令行运行此文件时
php test.php 得到以下错误
Could not open input file: test.php如果获得+r许可,它就能工作。
我以为只需要执行许可。
PHP文件是否需要在命令行中执行“其他人”的读取权限?
注意:使用Ubuntu10.04LTS和PHP5.3.2
发布于 2010-09-02 10:41:24
只有execute权限才行,如果是二进制的话。脚本必须具有读取权限,以便它们的解释器能够读取它们。
发布于 2010-09-02 10:41:41
如果直接使用完整路径或./test.php使用shebang行执行脚本,则需要可执行。如果您指定了解释器(即。php)解释器需要能够执行代码,因此在这种情况下,它只需要能够读取代码。
发布于 2010-09-02 10:42:12
是的,该文件需要对您试图运行它的用户具有可读性。另外,如果按您的方式调用可执行位(php /path/to/script.php),则不需要设置可执行位。
https://serverfault.com/questions/177284
复制相似问题