Laravel: удаление файлов хранилища, созданных Storage фасадом, из класса Command

Я использую фасад хранилища Laravel для хранения изображений в моем приложении Laravel. Как владелец, так и группа файлов хранилища, созданная Storage фасадом, является www-data. Я использую Планировщик, чтобы вызвать мою команду, которая отправляет изображения на Tumblr с их API.

class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
Commands\PublishPosts::class,
];

/**
* Define the application's command schedule.
*
* @param  \Illuminate\Console\Scheduling\Schedule  $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('posts:publish')
->everyThirtyMinutes()
->timezone('Asia/Karachi')
->when(function () {
return date('H') >= 0 && date('H') <= 5;
});
}
}

Моя задача cron будет вызывать планировщик команд Laravel и публиковать изображения на Tumblr.

* * * * * php /var/www/laravel/blogbits/artisan schedule:run >> /dev/null 2>&1

После успешного размещения изображения мой метод команды удаляет изображение.

/**
* Post a batch of posts
* @return \Illuminate\Http\JsonResponse
*/
public function publishPostBatch(){
$posts = Post::take($this->getBatchPostLimit())->get();
foreach ($posts as $post){
if($this->createPost($post)){
$post->delete();
$this->deleteImage($post->file_name);
}
}
}

Но поскольку планировщик запускается заданием cron, которое было инициировано моим именем пользователя, а не пользователем или группой apache www-data, он не может удалить изображение, хранящееся в пути хранения. Есть ли способ, которым я могу изменить пользователя файла, созданного фасадом хранилища? Или есть лучший способ справиться с этой ситуацией?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]