Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress:在不同服务器之间同步媒体库_Php_Wordpress_Amazon Web Services_Amazon Rds_Efs - Fatal编程技术网

Php WordPress:在不同服务器之间同步媒体库

Php WordPress:在不同服务器之间同步媒体库,php,wordpress,amazon-web-services,amazon-rds,efs,Php,Wordpress,Amazon Web Services,Amazon Rds,Efs,好的,所以这似乎是一个非常罕见的用例。希望这不会因为缺乏研究而关闭-我已经做了研究,我只是找不到其他需要这个设置的人 我们有三台服务器使用同一个WordPress站点——一个是实时版本,一个是测试版,一个是Kiosk版本(该站点的有限版本用于iPad Kiosk)。Beta站点是从Github上的Beta分支部署的,而Live和Kiosk站点都是从master分支部署的。站点之间的任何功能差异都由环境变量控制,除此之外,它们共享相同的代码 wp content/uploads文件夹在该站点的所有

好的,所以这似乎是一个非常罕见的用例。希望这不会因为缺乏研究而关闭-我已经做了研究,我只是找不到其他需要这个设置的人

我们有三台服务器使用同一个WordPress站点——一个是实时版本,一个是测试版,一个是Kiosk版本(该站点的有限版本用于iPad Kiosk)。Beta站点是从Github上的
Beta
分支部署的,而Live和Kiosk站点都是从
master
分支部署的。站点之间的任何功能差异都由环境变量控制,除此之外,它们共享相同的代码

wp content/uploads
文件夹在该站点的所有三个版本之间共享,使用已安装的Amazon EFS文件系统(由于插件冲突,无法使用S3)。这就是问题所在

Live和Kiosk服务器共享相同的RDS数据库,因此它们的媒体库始终同步。但是,Beta服务器使用其自己的独立数据库进行测试-由于WP媒体库对象存储在数据库中,因此会导致以下问题:

  • 当文件上载到测试版网站时,它不会自动添加到Live/Kiosk网站上的媒体库中(反之亦然)
  • 从共享上载文件夹中删除文件时,该文件不会自动从媒体库中删除,从而导致媒体库条目损坏/为空
这没什么不好的;这就是Wordpress的工作原理。我一直在通过使用“从服务器添加”插件来规避这个问题,该插件允许我手动保持媒体库的同步,但如果能够自动执行,那就太好了

因此,我认为以下任一解决方案都会奏效:

  • 保持两个数据库的“媒体”表同步,同时保持其余表分开的方法
  • 一种根据
    wp content/uploads
    文件夹的内容自动更新所有3台服务器上的媒体库的方法,该方法也足够聪明,可以忽略缩略图版本(“从服务器添加”插件不幸不能做到这一点,因此当我尝试时,如果有意义的话,我会得到无数的“缩略图”)

  • 以前有没有人在类似的环境中工作过?关于我提出的解决方案或者更好的解决方案,有什么想法吗?提前感谢。

    对于开发/登台环境,我通常与或结合使用,并将复制的媒体文件夹符号链接到
    wp content/uploads
    每次使用生产数据库转储构建登台时

    这还可以让您自动将数据库和媒体文件夹备份到另一台服务器上

    我通常建议不要通过改变beta/dev环境来更新live db,因为这通常违背了这种环境的目的

    关于保持信息亭和生产同步,这个插件看起来很有希望。我还没有在生产中试用过,但它应该符合你的要求