太久没用drupal开发,基本上又忘记了,以前开发还是基于D7版本,现在换D8了,两个版本差异还是挺大的,重新安装了框架,对着晴空/云客的教程重新再上手一次,在此记录一下开发前做的工作。

设置目录权限,设置php可使用内存

#进入网站根目录 
chmod -R u+w sites
chmod -Rf 775 sites/default

#修改php.ini文件,设置以下两个值
max_execution_time = 300
max_input_time = 600
memory_limit = 1024M

开启并创建settings.local.php文件

vim sites/default/settings.php
#把以下3行的注释去除
if (file_exists(__DIR__ . '/settings.local.php')) {
   include __DIR__ . '/settings.local.php';
}

cp sites/example.settings.local.php sites/default/settings.local.php
#注意,如果文件已经存在,就不用再复制了
使用local,主要是方便本机开发设置配置,不影响线上环境或其它开发者

安装drush命令行工具(D8下是durpalconsole)

curl https://drupalconsole.com/installer -L -o drupal.phar
mv drupal.phar /usr/local/bin/drupal
chmod +x /usr/local/bin/drupal

完成后,到网站根目录执行drupal --help,却报了以下的错误

                                                                                                                        
 [ERROR] Drupal Console is not installed at: "                                                                          
         /var/www/html/vailemail"                                                                                       
You must execute the following composer commands:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader                                               
                                                                                                                        

使用指定php版本进行console安装(多php版本共存的时候,指定php版本比较好)

php7.2 /usr/bin/composer -vvv require drupal/console:~1.0 --prefer-dist --optimize-autoloader

注:先安装好composer

添加services,开启twig debug模式

编辑settings.local.php

$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
#将以上的设置,修改为以下
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/default/services.local.yml';

#复制services文件
cp sites/default/default.services.yml sites/default/services.local.yml

编辑sites/default/services.local.yml

#设置以下几个变量
services:
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory

parameters:
  twig.config:
    debug: true
    auto_reload: true
    cache: false

完成后,必须执行drupal cr all清缓存,在网站审核元素就能看到绿色的twig模板路径了

关闭缓存,检查网站是否出错

编辑settings.local.php,设置以下两个值

 $settings['cache']['bins']['render'] = 'cache.backend.null';
 $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';

再次执行drupal cr all清缓存,换一个浏览器打开网站首页,正常访问就行

安装开发相关模块

php7.2 /usr/bin/composer -vvv require 'drupal/devel:^3.0'
php7.2 /usr/bin/composer -vvv require 'drupal/libraries:^3.0'
#安装完成后,扩展里面开启模块就行

#libraries模块在网站根目录创建libraries文件夹,按需创建下级目录及文件即可。
这两个模块并不是必须的,但开发过程肯定会用到,所以安装上比较好