ホームページ > バックエンド開発 > PHPチュートリアル > **PHP の `mkdir()` 関数を使用してディレクトリを作成すると、「アクセス許可が拒否されました」エラーが発生するのはなぜですか?**

**PHP の `mkdir()` 関数を使用してディレクトリを作成すると、「アクセス許可が拒否されました」エラーが発生するのはなぜですか?**

Susan Sarandon
リリース: 2024-10-25 17:56:03
オリジナル
1080 人が閲覧しました

**Why am I Getting a

PHP mkdir 関数を使用してディレクトリを作成中にアクセス許可が拒否されました エラー

PHP の mkdir 関数を使用してディレクトリを作成すると、次のエラーが発生する場合があります。

Warning: mkdir() [function.mkdir]: Permission denied in ....
ログイン後にコピー

このエラーは、Apache ユーザーが、指定された場所にディレクトリを作成するために必要な権限を持っていないことを示しています。

解決策:

すべてのユーザーに過剰なアクセスを許可する 777 に権限を設定する代わりに、次の代替案を検討してください:

1.所有権と権限の設定:

  • すべてのファイルの所有権を Apache グループとユーザー (Ubuntu の www-data など) に付与します。

    <code class="console">sudo chown -R www-data:www-data /path/to/webserver/www</code>
    ログイン後にコピー
  • Apache グループのすべてのメンバーにファイルの読み取りと書き込みを許可します。

    <code class="console">sudo chmod -R g+rw /path/to/webserver/www</code>
    ログイン後にコピー

2.ユーザーとグループの確認:

  • Apache ユーザーがホスト オペレーティング システムの www-data グループの一部であることを確認します。

    <code class="console">sudo usermod -aG www-data <username></code>
    ログイン後にコピー

3. Web サーバーの再起動:

  • Web サーバー (Apache2 など) を再起動して、変更を適用します。

    <code class="console">sudo service apache2 restart</code>
    ログイン後にコピー

例Ubuntu の場合:

<code class="console">sudo chown -R www-data:www-data /var/www/html
sudo chmod -R g+rw /var/www/html
sudo service apache2 restart</code>
ログイン後にコピー

これらの手順を実装した後、mkdir() 関数は許可拒否エラーなしで実行されます。

以上が**PHP の `mkdir()` 関数を使用してディレクトリを作成すると、「アクセス許可が拒否されました」エラーが発生するのはなぜですか?**の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート