2014-12-10 2 views
2

После нажатия всего приложения все приложение работает нормально. Затем я загружаю некоторые файлы в папку uploads через мой веб-интерфейс.Загруженные файлы, удаляемые при перераспределении в сервере Openshift

Если я нажимаю код через git, все файлы в папке uploads автоматически удаляются. Есть ли способ остановить это на моем открывающемся сервере?

ответ

4

Ваше приложение должно хранить любые постоянные файлы в файле $OPENSHIFT_DATA_DIR, который обычно является ~/app-root/data. Вероятно, ваше приложение сохраняет эти «загрузки» в $OPENSHIFT_REPO_DIR, где живет ваш код. Этот каталог перезаписывается новым кодом каждый раз, когда вы git push.

Вам необходимо настроить приложение для хранения загружаемых файлов в $ OPENSHIFT_DATA_DIR для их постоянного хранения.

+0

Как перенести папку для загрузки в файл $ OPENSHIFT_DATA_DIR? – Sriraman

+0

Это зависит от вашего кода приложения. Вам нужно будет изменить, где хранятся 'uploads', чтобы загрузки были помещены в каталог данных. Кроме того, вы можете настроить символическую ссылку на каталог данных в своем крюке действия сборки. См. Это сообщение на форуме (при условии, что вы используете wordpress): https://forums.openshift.com/how-to-find-wordpress-uploads-folder – Tim

+0

Я согласен с @Timbabwe, символические ссылки - это путь, вы можете проверить запустите быстрый запуск WordPress, чтобы понять, как будут работать символические ссылки и где их создавать: https://github.com/openshift/wordpress-example/blob/master/.openshift/action_hooks/deploy –

1

на корне WordPress локального создать каталог для действия крюка

mkdir -p .openshift/action_hooks 

затем создать Deploy крюк

vim .openshift/action_hooks/deploy 

вставить эту

#!/bin/bas 
echo "Creating symlink folder of uploads" 
if [ ! -d ${OPENSHIFT_DATA_DIR}uploads ]; then 
    mkdir ${OPENSHIFT_DATA_DIR}uploads 
fi 
ln -svf ${OPENSHIFT_DATA_DIR}uploads ${OPENSHIFT_REPO_DIR}wp-content/uploads 

ПРИМЕЧАНИЕ: .openshift/action_hooks/deploy hook не является исполняемым, чтобы выполнить его Уметь:

В Windows: git update-index --chmod=+x .openshift/action_hooks/deploy

На Linux/OSX: chmod +x .openshift/action_hooks/deploy

добавить изменения, фиксации и толчок.

Смежные вопросы