Heroku上的Wordpress更新

时间:2013-03-13 03:35:38

标签: php wordpress heroku

我在Heroku上安装了wordpress,我可以安装插件和更新。 我的问题是,如果服务器上的某些文件发生了变化,我怎样才能确保它被提交到我的应用程序的heroku git repo?

示例,wordpress发布更新。 我点击管理员中的更新wordpress。 所有更新的文件都在服务器上更改。 如果我克隆来自heroku的repo,我是否会安装新版本的wordpress?

2 个答案:

答案 0 :(得分:3)

Heroku文件系统是Ephemeral,也就是说,当dyno因某种原因重新启动时,本地存储的文件将会丢失。 dynos无法访问Git存储库。它们存储在一个slug中,这是一个美化名称,实际上是一个zip文件。这是一个安全功能:如果有人猜到密码并获得对文件系统的访问权限,他们将在重新启动时重新运行应用程序。允许某人通过网络更新您的版本控制是非常糟糕的想法

因此即使Wordpress运行更新并且看似成功,它也可以执行以下任一操作或两者:

  1. 将文件写入文件系统,以便在下次重启时丢失
  2. 写入数据库不丢失
  3. 这可能会使整个安装陷入混乱,因为代码和数据将不同步。

    在Heroku上运行的Wordpress上有两种安装方式:

    1. 在合适的地方解开东西并将它们推送到Git中的Heroku。
    2. 在本地运行Wordpress实例,针对生产数据库,并将更改推送到Heroku。
    3. 选项2也可能是危险的,因为在应用程序运行时,它实际上正在弄乱您的生产数据库。这意味着您应该关闭生产版本进行维护,或者只是将其设置为只读。记得也要拍摄数据库快照。

答案 1 :(得分:0)

我使用选项1来做到这一点。使用git只需在每次提交后将更改推送到heroku远程,如下所示:

git push heroku branchinwhichyouareworking

这样您的更改将被提交到您应用的git仓库。 请记住,如果它不是您要推送到heroku的主分支,则必须使用以下语法:

git push heroku branchinwhichyouareworking:master

更多信息here