问题:OpenShift WordPress 主题开发者工作流程

我用墨盒创建了一个应用程序,

  • PHP 5.4

  • MySQL 5.5

  • phpMyAdmin 4.0

我将我的 WP 文件、插件和主题提交到 GIT。在我的.gitignore中,我添加了

wp-content/uploads

正如书中第 8 章所说,我确实阅读了“OpenShift 入门”一书

“您可以使用的另一个目录是 OpenShift 数据目录,目前位于 $OPENSHIFT_HOMEDIR/app-root/data。我们使用环境变量 OPENSHIFT_DATA_DIR 来指向这个位置。 ”

“数据目录是您的应用程序应存储其文件并放置配置设置、下载主题或通常任何您希望在重新启动和 Git 推送后幸存的地方。”

摘自:Steven Pousty 和 Katie J. Miller。 “开始使用 OpenShift。”

我访问 SSH。当我在 WordPress 中上传我的媒体时,它存储在里面

$OPENSHIFT_REPO_DIR/php/wp-content/uploads/2014/05/1.jpg

1.如何指向?

$OPENSHIFT_DATA_DIR/uploads

1.如果是这样的话,在我的.openshift/action_hooks/deploy文件中,我已经添加了这个脚本

如果 [ ! -d ${OPENSHIFT_DATA_DIR}上传];然后 mkdir ${OPENSHIFT_DATA_DIR} 上传 fi

ln -sf ${OPENSHIFT_DATA_DIR}上传${OPENSHIFT_REPO_DIR}php/wp-content/

但是,软链接脚本并没有起作用,在我的GIT PUSH期间,它显示以下错误。

remote: ln: target `/var/lib/openshift/[ID]/app-root/runtime/repo/php/wp-content/' is not a directory: No such file or directory    

我的猜测是,$OPENSHIFT_REPO_DIR/php/wp-content/uploads/2014/05/1.jpg,uploads文件夹在脚本执行之前已经删除。

在这种情况下如何保留上传文件夹内容。 OpenShift 专家很乐意帮助解决这个问题。

解答

在我几乎没有尝试构建脚本之后,我终于发现了我的问题。

回答我自己的问题

  1. 怎么点。创建符号链接。在 GIT 推送期间,它肯定会删除您的上传文件夹($OPENSHIFT_REPO_DIR/wp-content/uploads/)。

这是您应该使用的代码,只需在 repo 之后删除 php 文件夹即可。

if [ ! -d ${OPENSHIFT_DATA_DIR}uploads ]; then
    mkdir ${OPENSHIFT_DATA_DIR}uploads
fi

ln -sf ${OPENSHIFT_DATA_DIR}uploads   ${OPENSHIFT_REPO_DIR}wp-content/

我希望它有帮助。

Logo

更多推荐