Drupal core版本:core\lib\Drpual.php ;在每次drupal内核发布的时候应该有自动化脚本更新。
本博客升级到Drupal 9了
周末有空,趁着Drupal 9发布了,也把本博客从Drupal 7升级到了Drupal 9。
因为内容比较简单,直接使用drupal自带的升级工具升级。
theme没法升级,但是内容都迁移过来了。
总体来说还比较简单方便。
Drupal 8 commerce composer依赖关系图
commerce kickstart目前看起来不支持drupal 8,取而代之的是drupalcommerce/demo-project。 按照官方的版本库来推测,默认drupal commerce项目,应该都是从drupalcommerce/project-base开始创建。
Drupal 8 http client代码及其代理设置
Drupal 8 使用代理(目前看下来只支持http(s)代理,不支持socks代理)。如果启用代理,在settings.php添加如下参数:
drush使用代理
drush与网络的交互,是通过curl或者wget.
drush本身不提供代理功能,但是可以通过设置curl或者wget代理从而实现drush的代理下载功能.
针对curl方式的socks5代理上网,如下是两种配置方式.推荐第二种:
第一种:
export http_proxy=socks5h://10.10.10.100:2080 https_proxy=socks5h://10.10.10.100:2080
第二种:
vi ~/.curlrc proxy=socks5h://10.10.10.100:2080
扩展:curl命令行使用代理:
curl -x socks5h://10.10.10.100:2080 google.com
Drupal 7 混用缓存配置
if (extension_loaded('memcached')) { $conf['cache_backends'][] = 'sites/all/modules/contrib/memcache_storage/memcache_storage.inc'; #$conf['cache_default_class'] = 'MemcacheStorage'; #$conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; #$conf['cache_class_cache_update'] = 'DrupalDatabaseCache'; $conf['memcache_storage_key_prefix'] = 'de'; $conf['memcache_storage_debug'] = FALSE;
drupal cache 漫谈
最近对drupal cache使用比较多。使用过memcache/memcache_storage/redis模块用来做drupal 的cache。
对于多站点来说,要注意设置cache_prefix变量,否则容易引起cache的混乱。一般配置在settings.php
$conf['cache_prefix'] = 'your-cache-prefix';
该方法对memcache/memcache_storage/redis同样适用。
但是redis有特殊之处。就是如果不设置这个值,默认提供一个cache_prefix。这个prefix是根据数据库的链接的md5计算出来的。就是说如果适用redis作为cache层,可以不关注这个设定。但是为了使用的友好性,建议设定这个值。
redis如何设定cache_prefix代码参见如下链接。
Drupal db_transaction 使用范式
$transaction = isset($transaction) ? $transaction : db_transaction(); try { $ids = array_keys($entities); db_delete($this->entityInfo['base table']) ->condition($this->idKey, $ids, 'IN') ->execute(); if (isset($this->revisionTable)) { db_delete($this->revisionTable) ->condition($this->idKey, $ids, 'IN')
Drupal db_select addExpression
$query = db_select('turnover_estimate', 'e'); $query->fields('e'); $query->addExpression("DATE_FORMAT(date, '%Y-%m-%d')", 'date_format'); $res = $query->execute()->fetchAllAssoc('date_format');
如上代码可以正确执行。但是略有小坑。
$query->addExpression('DATE_FORMAT(date, "%Y-%m-%d"), 'date_format');
注意单引号和双引号,这里的写法会报错。
相关讨论见这里:
drush命令讲解之数据库操作
匆匆一看,竟然2016年过了一半了,居然还没写过一篇博客。真是罪过罪过。
今天分享一个我经常用的drush命令,用来做数据库方面的操作。我经常这样使用;但是看周围的很似乎很少这么玩。
秉着知识共享,不藏私货的精神,共享出来。
数据库导出:
drush sql-dump > DB.sql drush sql-dump --gzip > DB.tar.gz ###导出数据库并压缩
数据库导入:
drush sqlc < DB.sql gunzip -c DB.tar.gz | drush sqlc ###导入gzip压缩文件
一键解锁Drupal登录锁定
Glossary
- May 2023 (7)
- March 2023 (1)
- October 2022 (1)
- October 2021 (2)
- August 2021 (4)
- June 2021 (2)
- May 2021 (1)
- April 2021 (2)
- November 2020 (1)
- June 2020 (2)
- December 2019 (2)
- November 2019 (1)
- August 2019 (1)
- February 2018 (1)
- October 2017 (1)
- September 2017 (1)
- July 2017 (1)
- June 2017 (2)
- May 2017 (1)
- March 2017 (3)
- December 2016 (2)
- November 2016 (4)
- October 2016 (3)
- June 2016 (1)
- December 2015 (1)
- November 2015 (6)
- October 2015 (2)
- September 2015 (1)
- August 2015 (1)
- July 2015 (1)
- June 2015 (1)
- May 2015 (1)
- March 2015 (1)
- January 2015 (1)
- December 2014 (3)
- October 2014 (5)
- September 2014 (3)
- August 2014 (1)
- July 2014 (1)
- June 2014 (1)
- May 2014 (1)
- April 2014 (2)
- March 2014 (2)
- February 2014 (2)
- January 2014 (4)
- December 2013 (1)
- March 2013 (2)
- February 2013 (2)
- December 2012 (2)
- November 2012 (4)
- October 2012 (1)
- September 2012 (6)
- August 2012 (15)
- July 2012 (5)
- June 2012 (13)
- May 2012 (9)
- April 2012 (8)
- March 2012 (9)
- February 2012 (3)
- January 2012 (1)
- December 2011 (1)
- November 2011 (6)
- October 2011 (2)
- September 2011 (17)
- August 2011 (4)
- July 2011 (4)
- June 2011 (5)
- May 2011 (4)