为什么is_dir()即使是dir也会返回false?
不返回错误
$path_mysql = '/var/lib/mysql/';
if(!is_dir($path_mysql)){
echo 'error';
}
返回错误
$path_mysql = '/var/lib/mysql/domain.com/';
if(!is_dir($path_mysql)){
echo 'error';
}
/var/lib/mysql/domain.com/
确实存在,但is_dir()返回false!?
我可以通过PuTTY和WinSCP访问目录
答案 0 :(得分:5)
可能是因为它无法检查/var/lib/mysql/domain.com/
是否存在,因为它没有足够的权限来执行此操作(权限问题)。
检查运行此PHP脚本的用户/var/lib/mysql/
目录的执行(列表)权限(可能是www-data
)
答案 1 :(得分:0)
可能是权限 - MySQL数据目录由MySQL用户拥有。如果您在Web服务器下运行此测试脚本,则Web服务器的UID极不可能有权读取该目录中的任何内容,因此is_dir返回false。