Назад | Перейти на главную страницу

EC2 / LAMP с временной файловой системой

Хорошо, это странно.

Теперь у меня есть домен, указывающий на новый экземпляр EC2, на котором запущен наш веб-сайт, но сначала я думал, что у меня есть некоторые проблемы с правами доступа к файлам, теперь оказалось, что веб-служба содержит полностью отдельный уровень файловой системы поверх один уже на месте.

Что я имею в виду? Любой файл, который я загружаю на сайт или создаю с помощью file_put_contents (), недоступен, если я подключился к серверу по SSH. Совершенно невидимый. Для меня это большая проблема, так как у меня есть работа в cron для пользователя root, который предназначен для поиска этих файлов и выполнения любых необходимых ему заданий.

Если я перезапущу службу apache2 - файлы, созданные в этом сеансе, будут сброшены, как если бы их никогда не было. Даже если я не перезапущу сеанс - у меня нет возможности снова получить доступ к этому файлу - хотя это, вероятно, сработает, только если я перенаправлю его как загрузку файла. Что касается PHP, они находятся в scandir (), верно для file_exists () и т. Д.

Кто-нибудь был знаком с этим и знает, как я могу отключить его, чтобы он вел себя как обычно? По моим исследованиям, это звучит похоже на EFS, но я понятия не имею, как это выключить, не говоря уже о том, чтобы включить.

Спасибо. NB: Я задавал этот вопрос на Stack Overflow, но это скорее вопрос «сбой сервера».

MLu, гений. Я использовал locate и, возможно, у меня был неправильный синтаксис или это было не для той ОС, но find нашел это.

Причина всего этого canundrum прекрасно объясняется в этот Сообщение блога. Если вы измените настройку на false, затем используйте команду systemctl daemon-reload и перезапустите службу apache2 - вернитесь в нормальное состояние!

Извините за поздний ответ - моя последняя виртуальная машина (после внесения некоторых изменений в конфигурацию) разбилась и сгорела из-за некоторых странных проблем с распределением памяти. пожимают плечами!

Если PHP scandir() можно увидеть файл, но ssh не правда ли, это странно. Пара возможностей проверить:

  • Вы на 100% уверены, что вошли на тот же сервер, на котором работает PHP-код? Если это кластер или докер контейнер у вас может быть запущено несколько экземпляров?

  • Говоря о докер-контейнеры - у них своя файловая система. Вы случайно не запускаете свой сайт в Docker?

  • Или веб-сайт работает в chroot Окружающая среда? Таким образом, вам придется искать загруженный файл в каком-то подкаталоге. Чтобы проверить, что загрузите файл с уникальным именем (например, abcdefgh.txt), а затем найдите в файловой системе с помощью find / -name abcdefgh.txt и посмотрите, какой путь вернется.

Это будет примерно так. Маловероятно, что файл будет просто невидимый для SSH есть кое-что еще.

Надеюсь, это поможет :)