6

これで過去2時間髪を引っ張っていて、本当にばかげたことをしていると確信しています.

<?php
mkdir("blah", 0777);
?>

これはコマンド ラインで機能し、フォルダーが作成されます。しかし、ブラウザから実行しようとすると、同じことが機能しません。ファイルのアクセス許可の問題はありますか?

4

3 に答える 3

11

コマンド ラインで実行している間はスクリプトがユーザーのアクセス許可を継承しますが、ブラウザーから実行している場合は継承されない可能性があります。

その場合、グループのディレクトリ権限を「書き込み」にする必要があります。

于 2010-02-07T03:59:30.800 に答える
3

Web サーバー (apache?) は独自のユーザーとして実行されており、mkdir を実行しているディレクトリに書き込む権限がありません。

A) 所有者にする、B) グループに書き込み権限がある場合はグループに追加する、または C) 全員に書き込み権限を与える (ほとんどの設定では推奨されません) のいずれかの方法で、Web サーバーのユーザーにディレクトリへの書き込み権限を付与します。

于 2010-02-07T04:13:23.793 に答える
0

umaskPHP をサーバー モジュールとして使用している場合、各リクエストが終了するたびに umask が復元されます。

$old = umask(0); 
mkdir($path,0777); 
umask($old); 
于 2015-01-15T11:38:13.847 に答える