Рейтинг:1

Drush не может писать в /tmp

флаг eg

Похоже, что Drush не может перемещать файлы в папку tmp на моем локальном компьютере. Изменение расположения папки tmp, например, на «sites/default/files» работает, но я хотел бы знать, почему это не работает с /tmp.

Я использую этот скрипт из модуля fontawesome:

$this->fileSystem->move($path . '/fontawesome-free-' . $fontawesome_library['version']. '-web', $this->fileSystem->getTempDirectory() . '/temp_fontawesome', FileSystemInterface ::EXISTS_REPLACE);

и я получаю ошибку

Указанный файл «/home/username/websites/frilaering_newest/web/libraries/fontawesome/fontawesome-free-6.1.0-web» не может быть перемещен в «/tmp/temp_fontawesome».

Странно то, что все остальное, кажется, работает, включая загрузку файлов, которая использует папку tmp, так может ли это быть как-то связано с Drush? Я использую Drush, установленный на локальном сайте с помощью composer. В статусе Drush все выглядит нормально.

  • www-данные могут писать в /tmp
  • /tmp изменен на 777
  • .htaccess файл присутствует в папке /tmp
  • В settings.local.php есть "$ settings["file_temp_path"] = '/tmp';"

Я пробовал что угодно - даже возиться с PrivateTmp, но единственное, что работает, - это изменение папки tmp, чего я бы предпочел избежать.

Я использую Drupal 9 с php7.3-fpm/apache2/mariaDB на последней версии Ubuntu.

Любые идеи?

4uk4 avatar
флаг cn
Вы говорите, что `www-data` может писать в /tmp. Это имеет значение для веб-сервера, но не для Drush. Вопрос в том, может ли пользователь, вошедший в командную строку, писать в /tmp.
флаг id
Каковы права собственности и разрешения на `/tmp/temp_fontawesome`? Какой пользователь запускает Drush?
4uk4 avatar
флаг cn
Да, также подкаталоги.
флаг eg
пользователь, использующий drush, является моим локальным пользователем. Насколько я вижу, у меня есть права на запись в /tmp. папка "temp_fontawesome" никогда не создается, потому что drush не может писать в /tmp
Joehoe avatar
флаг tr
может быть связано с опечаткой. Вы пробовали `../tmp` вместо `/tmp`? В качестве примера я ссылаюсь на свою папку tmp следующим образом: `$settings['file_temp_path'] = '../tmp';`
флаг eg
спасибо, но не опечатка к сожалению. Также это, похоже, влияет только на drush. Сайт без проблем обрабатывает изображения и файлы, в том числе и через /tmp. Это происходит только при использовании drush.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.