Home  >  Article  >  Backend Development  >  is_writable返回false

is_writable返回false

WBOY
WBOYOriginal
2016-06-20 12:35:541948browse

我有一个test.php文件,内容如下:
   if(is_writable("/home/www/testapp/image/cache"))
   {
     echo ("can write!");
   }
   else
   {
     echo ("can not write!");
   }
?>
通过命令行执行,返回的是“can write!”
php test.php
但是,通过网站访问,返回的是can not write!
而且通过命令sudo -u apache php test.php 执行,返回的也是can not write!

通过ps aux | grep apache查看,用户信息如下:
apache   17446  0.0  2.5 373988 49420 ?        S    Jan13   0:06 /usr/sbin/httpd
apache   17447  0.0  2.5 373760 49084 ?        S    Jan13   0:07 /usr/sbin/httpd
apache   17448  0.0  3.2 387204 62392 ?        S    Jan13   0:05 /usr/sbin/httpd
apache   17449  0.0  2.0 360468 39820 ?        S    Jan13   0:06 /usr/sbin/httpd
apache   17450  0.0  3.0 383112 58328 ?        S    Jan13   0:06 /usr/sbin/httpd
apache   17451  0.0  3.0 382332 57808 ?        S    Jan13   0:06 /usr/sbin/httpd
apache   17452  0.0  2.6 374792 50300 ?        S    Jan13   0:05 /usr/sbin/httpd
apache   17453  0.0  2.5 372472 48364 ?        S    Jan13   0:07 /usr/sbin/httpd
apache   17942  0.0  2.3 365588 45172 ?        S    Jan13   0:05 /usr/sbin/httpd
apache   19042  0.0  3.0 384096 59060 ?        S    Jan14   0:04 /usr/sbin/httpd
apache   19115  0.0  2.4 372488 47748 ?        S    Jan14   0:02 /usr/sbin/httpd

并且cache的权限也改成了apache
drw-rw-rw- 2 apache apache  4096 10月 20 22:18 cache
drwxrwxrwx 3 apache apache  4096 1月  16 2015 catalog

我的问题是,为什么通过网站或者apache账户,一直都是返回不能写呢,请高手帮忙,非常感谢!!



回复讨论(解决方案)

php test.php 可以,应该是root可以
sudo -u apache php test.php 不行

表示 apache这个用户没有写权限。

catalog 这个是777的,这个有权限写么?

 那不用is_writable

我找到原因了,因为父文件夹没有权限,所以,就算是子文件夹有权限,也不行;不过还是多谢各位~

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn