跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

使用 composer和 drush 设置和安装 Drupal 9

由 hrs, 26 六月, 2021

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

 

  • 登录或注册以发表评论
内容类型分类
技术文章
文章归类
drupal

文章标签

  • drupal 9

评论

文章标签

Excel
CSS
ubuntu
php
vim
五笔
VPN
Linux
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
模块(module)
drush
Drupal
JavaSrcipt
apache
英语
drupal 9
nerdtree
network
果树种植
surround
drupal10
SEO
主题(theme)
二进制
更多

相关文章

  • 因权限问题导致drupal cms 无法正常安装,那么该如何解决这个问题
  • kvm虚拟机启动失败:default网络未激活
  • ubuntu 安装kvm 虚拟机
  • foreach 是 PHP 循环语句使用方法
  • implode() 函数的定义和用法
  • Drupal 11 主题制作教程
  • 检查 Composer 是否为官方源
  • 在 Drupal 中权重(Weight)是怎样排序的
  • 解决 Drupal 主题缺失问题
  • 为什么学习php 会一边学,一边忘
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号