ホームページ  >  記事  >  バックエンド開発  >  is_writable は false を返します

is_writable は false を返します

WBOY
WBOYオリジナル
2016-06-20 12:35:541900ブラウズ

次の内容の test.php ファイルがあります:
if(is_writable("/home/www/testapp/image/cache"))
{
echo ("書き込み可能!");
}
else
{
echo ("書き込みできません!")
}
?>コマンドラインで実行すると、戻り値は「can write!」
php test.php
ただし、Web サイト経由でアクセスすると、戻り値は「can not write!」です。また、コマンド sudo -u apache php で実行すると、戻り値は「can not write!」になります。 test.php、また、書き込めません! ps aux |
ビュー、ユーザー情報は次のとおりです:
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
ap痛み 17449 0.0 2.0 360468 39820 ? S S 1 月 13 日 0: 06 /usr/sbin/httpd
apache 17450 0.0 3.0 383112 58328 ? S 1 月 13 日 0:06 /usr/sbin/httpd
apache 17451 0.0 3.0 382 332 5 7808 ?S 1月13日0:06 /usr/sbin/httpd
apache 17452 0.0 2.6 374792 50300 ? S 1 月 13 日 0:05 /usr/sbin/httpd
apache 17453 0.0 2.5 372472 48364 ? S 1 月 13 日 0:07 /usr/sbin/ httpd
apache 17942 0.0 2.3 365588 45172 ? S 1 月 13 日 0:05 /usr/sbin/httpd
apache 19042 0.0 3.0 384096 59060 ? S 1 月 14 日 0:04 /usr/sbin/httpd
apache 1 9 115 0.0 2.4 372488 47748 ? S Jan14 0:02 /usr /sbin/httpd

キャッシュ権限も apache
drw-rw-rw- 2 apache apache 4096 10 月 20 日 22:18 キャッシュに変更されました
drwxrwxrwx 3 apache apache 4096 2015 年 1 月 16 日カタログ

私の質問は、なぜ Web サイトまたは Apache アカウントから書き込めないのですか? 助けてください。 !





ディスカッションへの返信 (解決策) )
php test.php は OK です。root である必要があります。

sudo -u apache php test.php は OK ではありません

は、Apache ユーザーに書き込み権限がないことを意味します。

このカタログは 777 のものです。これを書く許可はありますか?

それなら is_writable は必要ありません

理由はわかりました。親フォルダーにアクセス許可がないため、サブフォルダーにアクセス許可があっても機能しません。 ~

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。