Drupal 9 的第一个稳定版本将于 2020 年 6 月发布,但几天前核心团队发布了第一个测试版。现在是开始测试 Drupal 9 的好时机,因此当稳定版本发布时,您将做好准备。我们将专门为本地开发目的设置和安装 drupal。当然,您可以调整生产的所有设置。
准备
除了所有标准系统要求(如 PHP (>=7.3))、Web 服务器(如 Apache 或 Ngnix)和数据库(如 MySQL)外,您还需要在本地计算机上安装 composer。如果还没有,请查看官方网站上的安装说明。
通过 COMPOSER 下载 DRUPAL 9
从 Drupal 8.8.0 开始,有一个官方的 composer 模板来下载 Drupal 核心及其所有依赖项。所以,不建议再使用非官方的 composer drupal-project。它们之间存在一些差异,但归根结底,这只是(未)安装的供应商软件包。打开您的终端,让 Composer 完成工作。
composer create-project drupal/recommended-project YOUR_DIR
这个 composer 命令会将核心和所有依赖项下载到YOUR_DIR. 它还会在 composer.json 中配置一些你需要的东西。
使用 DRUSH 安装 DRUPAL
现在一切就绪,您必须安装 Drupal。一种方法是安装脚本,如果您访问像myproject.local. 我更喜欢使用 Drush——Drupal shell。recommended-project默认情况下,新的不包括 drush,所以我们必须要求它。
$ cd YOUR_DIR
$ composer require drush/drush:^10
我们将使用标准安装配置文件,您可以随意选择适合您的需求。您还需要准备好数据库和相关凭据。
$ drush site-install standard \
--db-url='mysql://[DB_USER]:[DB_PASS]@[DB_HOST]:[DB_PORT]/[DB_NAME]' \
--account-name=ADMIN-NAME --account-pass=YOUR-PW \
--site-name=WEBSITE-NAME \
--site-mail=WEBSITE@MAIL.COM \
调整(开发)设置
我假设我们在这里为本地开发内容设置 Drupal,但当然,您可以为生产或暂存环境调整这些设置。
$ chmod +w web/sites/default
$ mkdir web/sites/default/settings
$ cd web/sites/default
$ cp settings.php settings/settings.shared.php
$ chmod 644 settings/settings.shared.php
首先,我们使sites/default目录可写并创建一个新的子文件夹sites/default/settings。之后,我们将settings.php安装过程中生成的文件复制到这个新文件夹中并命名为settings.shared.php. 为什么?因为我们想将我们的设置拆分成两个单独的文件,以便我们可以轻松更改环境设置。另一种方法是使用.env文件。随意选择任何方法。
接下来,我们将替换标准中的所有内容settings.php并包含我们新生成的settings.shared.php.
/web/sites/default/settings.php
<?php
include __DIR__ . '/settings/settings.shared.php';
在我们的共享设置文件中,添加设置trusted_host_patterns(出于安全原因)。
/web/sites/default/settings/settings.shared.php
<?php
// ... Tons of lines before
// ...
$settings['trusted_host_patterns'] = [
'^localhost$',
'^127.0.0.1$',
'example\.local$',
'staging\.example\.com$',
'example\.com$',
];
接下来,我们需要包含本地设置文件,之后我们将创建该文件。
// ... At the BOTTOM of settings.shared.php
if (file_exists($app_root . '/' . $site_path . '/settings/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings/settings.local.php';
}
$ cd ../..
$ cp sites/example.settings.local.php sites/default/settings/settings.local.php
现在,将您的本地数据库设置数组从 /web/sites/default/settings/settings.shared.php我们的新 /web/sites/default/settings/settings.local.php.
/web/sites/default/settings/settings.local.php
<?php
$databases['default']['default'] = [
'database' => 'YOUR-DB-NAME',
'username' => 'YOUR-DB-USER',
'password' => 'YOUR-USER-PASSWORD',
'prefix' => '',
'host' => 'localhost',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
];
对于本地开发,您需要包含development.services.yml文件、关闭渲染和页面缓存、启用详细错误日志并禁用 JavaScript 和 CSS 预处理。为此,请在数据库数组下方添加这些行。
// ... Database array ...
// Load development service file
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
// Disable caches
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['page'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
// Enable verbose error logging
$config['system.logging']['error_level'] = 'verbose';
// Disable CSS and JS preprocessing
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
现在我们需要通过包含的/web/sites/default/development.services.yml. 您的文件应如下所示:
parameters:
http.response.debug_cacheability_headers: true
twig.config:
debug: true
auto_reload: true
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
是时候清除 Drupal 缓存以确保应用我们的新设置了!
$ drush cr
现在您的 Drupal 9 安装应该已经准备就绪,并且所有设置都应该适合开始本地开发。但要小心!您还需要做两件事来保护您的安装!
首先,给你的files目录和settings.php正确的权限:
$ chmod go-w sites/default/settings.php
$ chmod go-w sites/default
和往常一样,永远不要将设置文件提交到您的 git 存储库!因此,将我们新的本地设置文件添加到根目录中的 .gitignore 中。
# Ignore configuration files that may contain sensitive information.
/web/sites/*/settings/settings.local.php
评论