【问题标题】:Drupal lost settings and public files when pushing to AWS Elastic Beanstalk推送到 AWS Elastic Beanstalk 时 Drupal 丢失设置和公共文件
【发布时间】:2013-10-23 20:28:45
【问题描述】:

每次我将我的 drupal 网站更新到 AWS Elastic Beanstalk 时,所有上传到公用文件夹的文件都会丢失。更糟糕的是,设置也会丢失;我需要重新配置数据库设置。

例如:我对我的主题 style.css 进行了更改,然后我推送:

git 添加站点/all/themes/theme_name/style.css

git commit -m "新样式"

git aws.push

在 AWS 部署网站并访问任何页面后,它会显示安装屏幕,我必须再次配置数据库设置。如果图像被上传到公用文件夹,则该图像消失了。

.gitignore 在那里,它有排除站点文件夹的行。

任何帮助将不胜感激

【问题讨论】:

    标签: git drupal amazon-web-services drupal-7 amazon-elastic-beanstalk


    【解决方案1】:

    为了澄清,您是否有通过 FTP 移动 settings.php 并在部署时将其删除(或即使在创建时也已删除)的问题?

    在您的 .gitignore 中,您是否有类似的内容:

    sites/*/settings*.php
    sites/*/files
    sites/*/private
    

    如果是,则行为是自然的。任何设置*.php 将永远不会在服务器上移动,因为它被忽略了。为避免这种情况,请添加 # - 将以下行注释掉:

    # sites/*/settings*.php
    

    类似于您要忽略的每一行。通常这些文件不会移动,因为它们是特定于服务器的。

    当您更改 gitignore 时,我已经提到要使更改生效,您必须首先将更改推送到 git 存储库的主节点。

    如果您不想每次都更新您的 settings.php 文件,我已经在我的博客网站上写了一个开关,用于处理服务器 URL 以应用正确的设置。您可以找到更多信息here

    最后,文件夹不应该通过 Git 推送!!!这些对于传输来说太大了,应该通过 FTP 移动。

    【讨论】:

    • 感谢您的回复@Frizi。这是我的cmets:
    • 1 我没有通过 FTP 上传。我正在使用 GIT
    • 2 我没有上传 settings.php,它已经在服务器上。它应该保持不变(这就是我想要的)
    • 3 是的,.gitignore 看起来像这样。所以,它应该忽略 settings.php 和文件夹
    • 4 我没有上传文件夹。但是,一旦 AWS 部署,Files 文件夹中的所有文件都消失了
    【解决方案2】:

    我遇到了同样的问题,发现这篇文章 - http://damontorgerson.com/aws/drupal/elastic-beanstalk-drupal-settings/

    所以你需要填写 php 环境容器中的项目,并添加 Damon 帖子中的建议文件,并添加到设置文件的底部。

    这是一个展示如何设置参数的 AWS 文档。它适用于java,但它仍然适用于php。

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Java.managing.html

    标记

    【讨论】:

    • 链接已损坏。解决方案应在此处详细说明,而不是指向博客文章。
    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 2015-05-28
    • 2013-04-22
    • 1970-01-01
    • 2017-04-20
    • 2017-01-17
    • 2015-01-20
    • 2020-12-17
    相关资源
    最近更新 更多