0

我有一个客户希望我更新他们的 Drupal 站点。我以前从未这样做过,我想从我的本地机器上处理它,以防万一出现问题。我什至不知道从哪里开始!

首先,我如何访问客户的站点文件,以便将它们放到我的计算机上?我曾尝试将客户提供给我的信息输入 Cyber​​duck,但它无法让我访问。还有其他方法可以访问吗?

另外,我如何在本地托管它?我有 XAMPP,但我不知道如何使用它。

话虽如此,我找到了一些可以帮助我设置本地服务器的论坛。我只是不知道如何将文件从实时服务器获取到我的计算机。

我知道这是一个超级菜鸟问题,但我可以使用帮助。谢谢!

4

2 回答 2

1

好吧,对于基本问题,您必须从客户那里获得正确的凭据。没有其他选择,真的:D

当您使用它时,您还需要该站点数据库的副本。

对于“我如何在本地托管它?”这个问题。这就是我将如何去做。

让网站进入版本控制。

鉴于您获得了 (S)FTP 凭据,我猜该站点不受版本控制。如果这是正确的,那么这可能是你想做的第一件事。这将允许您跟踪您在本地站点上所做的与生产版本不同的更改。

  1. 在您的计算机上创建一个空目录。
  2. 导航到终端中的目录并运行git init.
  3. 将文件添加.gitignore到该文件夹​​(您可以创建自己的文件,或使用为 Drupal 定制的文件)。
  4. 将站点的文件下载到步骤 1 中创建的目录中。
  5. 通过在终端中运行以下命令,将目录中的文件添加到 git 存储库:git commit -am "First commit of Drupal files to repository."

drupal.org 上有一个关于在 git 中使用 Drupal的很好的帮助页面。

创建并填充您的数据库。

  1. 从实时站点获取数据库转储。
  2. 在您的机器上创建一个新的数据库和数据库用户。
  3. 将数据库转储导入新数据库。
  4. 将数据库凭据记录在settings.phpsettings.local.php并将它们存储在安全的地方,最好是在密码管理器中。
  5. 更改数据库凭据settings.phpsettings.local.php匹配您刚刚创建的数据库的凭据。

    (为了安全和避免混淆,我总是使用与实时站点不同的名称、用户和密码创建本地数据库。这意味着如果您的本地凭据被泄露,实时站点不会,这意味着您可以t意外连接并更改实时站点的数据库。)

在 XAMPP 中设置网络服务器

  1. 在 XAMPP 中创建一个名为 eg 的新站点,该站点example.local指向包含该文件的目录index.php
  2. /etc/hosts在您的计算机上调用的文件中添加以下行:

    127.0.0.1 example.local

  3. http://example.local通过访问 eg或来测试这在浏览器中是否有效http://example.local/robots.txt

将本地更改移动到生产站点

您将如何做到这一点在某种程度上取决于您客户的网络托管基础设施,以及您的客户使用的 Drupal 版本。但无论如何,您所做的更改都会有三个不同的关注点:

  1. 代码更改

    您需要将您对代码所做的更改部署回服务器。理想情况下,您可能会通过 Git 直接克隆到实时站点或(更好!)作为自动构建过程的一部分。听上去,您可能只需要通过 FTP 备份更改。

    注意不要重新上传您修改过的settings.phpsettings.local.php文件!

  2. 内容变更

    您可能必须在本地测试部分/所有内容更改,然后在实时站点上重新创建它们。因为您的客户可能在您工作时对实时站点进行了更改,所以您不能冒险将本地数据库导入实时站点。

  3. 配置更改

    如果可能的话,应该在代码中管理对配置的更改(即作为上述1. 代码更改的一部分)。在 Drupal 7 中,功能模块通常是完成此任务的最佳方式(这是我写的描述功能工作流程的答案)。Drupal 8 有配置管理器。请注意,这两个工具都很难很好地使用。

于 2018-05-07T14:11:01.517 回答
0

您的客户需要授予您对文件的访问权限,以便您可以将它们放入 XAMPP 上的 htdocs,然后您需要数据库(也由客户提供),启动 XAMPP,在其上创建一个新数据库localhost/phpMyAdmin并导入该站点的数据库。在项目代码上sites/default/settings,将数据库设置更改为您的本地设置。然后你可以去localhost/{your-proyect},它应该工作。

于 2018-05-04T14:23:21.860 回答