安装配置

Drupal核心autocomplete功能出错

一些nginx服务器的配置硬性隐藏了index.php,导致drupal的autocomplete功能出错(返回404)。

临时解决方法:

修改include/form.inc

Drupal数值字段类型decimal和float的选择

decimal指定固定长度和小数点后的位数,例如:decimal(10,2),总共十位,其中小数点后两位,即小数点前是八位
float是精确存储数值。

如下例子,做除法时decimal会有精度丢失。

Drupal自身的url rewrite

应该只对url函数输出有效。

消除php5.3出现的strtotime()警告

运行php5.3时当出现这样的警告:

drupal6站点迁移后大量dblog_watchdog报错解决

原样的文件和数据库复制,在新的主机空间访问时,一页竟出现两百多个的dblog_watchdog写入查询,全部都是关于cck或cck相关模块(例如link模块)的警告提示。经查证,根源是是cck及cck相关的模块造成。到官网上查发现许多类似问题(Notice: Undefined variable: element),多数都要打补丁来解决。最后不得不卸载和重装部分模块,再给cck和link模块打补丁解决了事。

玩转Drupal7缓存配置技巧

drupal6有个著名的cacherouter模块,能同时支持db、apc、memcache、file缓存,可以灵活配置各种缓存在不同地方,例如默认在apc、cache_page在file、session在memcache等。
(顺便说说,cacherouter的作者对drupal团队有意见:“我这么好的模块为什么不加入核心?”呵呵)

drupal6里boost模块安装的nginx重写规则


    location / {
        if (!-e $request_filename) {
             rewrite  ^/(.*)$  /index.php?q=$1  last;
        }

慎用EntityCache模块

我辛辛苦苦配置了几天的ubercart,安装了EntityCache后,性能未见显著增长。当卸载EntityCache时,页面报错:

'EntityCacheTaxonomyVocabularyController' not found

尝试过清缓存/update/重启服务器等等处理手段,故障依旧,EntityCache如蛆跗骨,似乎是个不可逆工程。

上google搜'EntityCacheTaxonomyVocabularyController' not found,只有两条记录。第一个看了没什么帮助,第二个http://danecabutterfield.com/ ,哈哈,自己看。。。

如何让nginx也支持drupal的upload progress

Drupal的Filefield模块原生支持pecl的uploadprogress扩展,但是pecl的uploadprocess只支持apache!

还好nginx也有个upload progress模块,有高手为此写了个对应的drupal模块:FileField Nginx Progress

可惜的是,该模块的配置文档只有寥寥几行字,而drupal官方仅支持apache,关于nginx的文档实在不多,而且权威性有限。我东拼西凑搞了份nginx的配置,用着都没有什么问题,就是upload progress出不了。

考虑到安全性,这里仅贴出一部分配置:

Drupal7的filefield文件上传功能在ie8不能正常使用的解决办法

有人说drupal7.0只是个半成品,我了解不深不好妄下定论,但发现drupal7确实bug很多。

drupal7.0核心自带的文件上传功能,在ie6里不能ajax(不过还是可以通过传统方式上传),在ie8里点上传和删除文件都没反应。搜索drupal官网,终于找到一个补丁,这回不得不修改drupal的核心源代码了。

 

http://drupal.org/node/1018714