QA@IT

存在しているフルパーミッションのディレクトリが、No such file or directoryになったりPermission deniedになる

11326 PV

css.php

private function getHistory()
    {
        $css_history = array();
        $dir = Config::get('base_site_dir') . Config::get('■■■■') . '/' . $this->data['■■■■']['■■■■'];
        if(!file_exists($dir)){
            //ディレクトリが無い場合は作成
         var_dump($dir);

    mkdir($dir,0777,true);

        }

変数$dirの中身

string(80) "/Applications/XAMPP/xamppfiles/htdocs/■■■■/■■■■/css/★★★★"

でアクセスすると、
mkdir(): Permission denied(アクセス拒否)となります。
ディレクトリ★★★★のパーミッションは、
自分:読み/書き、
staff:読み/書き、
everyone:読み/書き、
にしてますが、
アクセス拒否になる原因は何が考えられますか。
又mkdir($dir,0777,true);をmkdir($dir);にすると、
mkdir(): No such file or directoryになるので、/★★★★は読み込みされていないのでしょうか。
どなたか私にご教示下さいませんか。
宜しくお願いします。

フルパーミッション

drwxrwxrwx 3 ■■■■ staff 96 8 22 11:50 ★★★★(ディレクトリ)

環境

XAMPP
macOS
phpstorm
  • まずは確実に実行できるパスを直書きで、確実に1回だけ実行されるようなコードでmkdirできるか試してみては?
    つづいてhtdocs配下でも同様に。
    他サイトでも質問してるなら、それも書きましょうね。

    あとWebアプリケーションの実行ユーザーも確認してください。
    webサーバーのセキュリティの関係でwebサーバーでのスクリプト実行ユーザー(たとえばwww-dataとか)に
    -
  • 関係ないディレクトリは触れないこともあるかもしれません。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。