ユーザー権限
しかなくて、Laravelのフォルダを単純に削除しようとすると、
storage以下
の所有者apache
のフォルダが消せないんですよねー
PHP
でPermission変更
かけてやると消せるんですが、ハマリポイントがあったんで備忘録です。
ディレクトリごと権限の変更
注:必ずブラウザから実行
chmod.php
<?php
function chmod_r($path) {
$dir = new DirectoryIterator($path);
foreach ($dir as $item) {
if ($item->isDir() && !$item->isDot()) {
//chomd()だとエラーがでたので。
system('chmod 0777 ' . $item->getPathname());
echo 'Dir : ' . $item->getPathname() . '<br>';
//再帰的に変更
chmod_r($item->getPathname());
}
}
}
//パーミッション変更したいフォルダをフルパス指定してください。
chmod_r('/var/www/html/laravel');
?>
こいつを実行できる場所(www以下等)
においてブラウザから実行
してください。
再帰的
に全フォルダのパーミッション
が変更されていますので、rm -rf {フォルダ名}
ですべてのapache所収者ディレクトリ
を消せるはずです!
追記:
ディレクトリごとではなく、1ファイルごと
に権限の変更
注:ブラウザから実行
chmod_file.php
<?php
function chmodApacheFile($file) {
if (file_exists($file)) {
system('chmod 0777 ' . $file);
echo 'file : ' . $file . '<br>';
} else {
echo 'ファイルが見つかりません';
}
}
//ファイル名を適宜変更(フルパス)
chmodApacheFile('/path/filename.php');
?>
LGTMお願いします!
ストックのついでにお願いします!
モチベーションがあがります!