drupal6下的archive模块安装后提示找不到cal_days_in_month函数

在虚拟主机的服务器上安装了drupal6,下载了一个archive模块(6.x-1.3版),但是安装完以后提示:

Call to undefined function cal_days_in_month()

原来以为cal_days_in_month是drupal下的函数,没想到这个函数是php自带的函数。

下面是这个函数的作用,

cal_days_in_month() 函数针对指定的年份和日历,返回一个月中的天数。

使用这个函数的时候必须在编译 PHP 时加上 --enable-calendar

但是虚拟主机提供商不会为你的应用把php重新编译。所以我想到用一个别的方法来替代这个函数的作用。

在archive.module里修改如下的代码:

把$num_days_prev = cal_days_in_month(CAL_GREGORIAN, $month-1, $year);

改为:
 $num_days_prev = (strtotime("this month")-strtotime("last month"))/(3600*24);

这样,就可以不用cal_days_in_month函数也能直接实现显示日期的效果了!