你现在的位置:首页 > PHP网站建设知识库 > Drupal > 正文

Drupal7的系统需求

Drupal 7 可运行于多种平台,包括Windows、Linux/Unix。新版本的Drupal 7 要求启用PHP的PDO功能,这是与之前版本最大的不同。搭建测试环境时,有很多方便的途径。
当然,也可以使用Uniform Server 等其它WAMP (Windows + Apache + MySQL+PHP)安装包,搭建Drupal 7的运行环境,然后下载并安装Drupal 7。安装过程中要注意检查PDO对应的扩展程序是否已经包括在相关程序包中,以及该功能是否启用。
有关Drupal 运行所需要的其它系统环境信息,请参阅下文的相关信息。
Web服务器
Drupal 目前已经支持 Apache 和 IIS 服务器。下面是推荐的运行环境:
Apache (推荐)
* Drupal 支持运行于UNIX / Linux、OS X或Windows操作系统上的Apache 1.3 或 Apache 2.x。Drupal 的大部分开发和部署工作都基于 Apache 完成,因此它在 Apache 平台上经过的测试比其它 Web 服务器要更多。
*可以利用Apache 的 'mod_rewrite' 扩展来实现 Clean URL 功能。
微软IIS
* 正确配置的Drupal 核心可支持IIS 5、IIS 6或IIS 7。
*要支持 Clean URL 功能,可能需要使用第三方产品。在IIS 7上可以使用微软的URL重写模块或第三方解决方案实现该功能。
*在IIS7 上使用FastCGI和Drupal 时,您必须安装修补程序kb954946,或包含该补丁的更新程序。KB954946已经包含在Windows 2008 Server SP2内。
Drupal还支持很多其它的Web服务器,我们在此无法一一列出。
系统资源
您的Drupal安装总文件大小将取决于您想在您的网站添加什么样的内容,Drupal核心文件解压后只有2到3 MB。确切的大小取决于您要安装的Drupal版本。实际安装时,磁盘空间的需求可能会更高。例如,如果以后要安装其它模块和主题,实际空间需求可能很容易就超过40 MB(不包括数据库内容、多媒体文件,备份和其他文件)。
这个FAQ(http://drupal.org/node/59680)解释了如何使用phpinfo文件获得你的系统详情。phpinfo会告诉你是否你已经安装了数据库,正在运行的数据库是什么版本,等等。phpinfo也能告诉你,系统中已经设置了哪些PHP变量,或其他多种有用信息。
数据库服务器
*早期的Drupal 5.x支持MySQL 3.23.17或更高版本。强烈建议使用MySQL 4.1或更高版本。
* Drupal 6支持MySQL 4.1或更高版本。
* Drupal 7只支持MySQL 5.0.15或更高版本,且需要PHP的PDO数据库扩展支持。
Drupal在MariaDB平台经过广泛测试,建议版本为5.1.44(或更高)。它也数据库平台也可能很好地支持Drupal,但是他们都没有经过特别的测试。
注意:Drupal的功能可能无法在一些廉价的虚拟主机平台使用,请检查你的虚拟主机是否允许使用数据库帐户的下列权限:
选择,插入,更新,删除,创建,删除,索引,更改。
上述权限足以运行Drupal 6.x的核心模块。
一些贡献模块,包括Drupal5.x的核心(但不包括Drupal6.x的核心),还需要下列权限:
创建临时表,锁表。
注:如果您的系统/主机正在运行MySQL 4.1或更新版本,而您发现了“客户端不支持服务器的认证协议”的错误,建立根据MySQL AB公司提供的说明解决这个问题。MySQL 5 + 安装有一些小的问题,主要影响Windows平台,以及少数Unix / Linux的版本。
注意:如果使用Drupal 5.x或更高版本,尤其是用户贡献模块时,可能需要设置系统变量max_allowed_packet为至少16M。一些廉价的虚拟主机将此值设置得太低(MySQL的默认值仅为1M)。在这种情况下,您可能需要选择一个更好的托管服务方案。1M的设置可能满足5.x的需求。
注:Drupal支持MyISAM和InnoDB表类型。不支持NDB表(MySQL簇)。
请注意,如果您的web托管帐户设置了诸如Plesk或CPanel等图形化控制面板,那么很可能不需要担心安装MySQL的驱动程序 - 它可能已经在您的服务器安装。你不妨简单地创建你的数据库,进行Drupal安装,然后在遇到问题时,参考Drupal文档中的排错部分。
PostgreSQL
注:有些贡献模块并没有从MySQL特定的代码方式中抽象出来。如果你更熟悉PostgreSQL,请在遇到这些问题时,针对这些贡献模块提出相关问题。
* Drupal 6支持PostgreSQL 7.1或更高版本
* Drupal 7将只支持PostgreSQL 8.3或更高版本
*Windows上的PHP 5.2.6版本,在pgsql扩展中存在一个错误。您将需要以版本5.2.5 的php_pgsql.dll 来替换它。
SQLite 3.x - 仅适用于Drupal 7
注:有些贡献模块并没有从MySQL特定的代码方式中抽象出来。如果你更熟悉SQLite,请在遇到这些问题时,针对这些贡献模块提出相关问题。
其他数据库引擎
微软SQL Server和Oracle均通过额外的模块得以支持。
如果您对数据库支持相关的工作感兴趣,请访问企业用户组的讨论。
PHP
推荐版本:PHP 5.2.x
要求:PHP版本4.4.0或更高(贡献模块可能不支持这个版本的PHP)
* Drupal 5.x尚不支持PHP 5.3,但Drupal 6.14核心(见6.14发行说明)和更高版本,包括Drupal 7.x支持该版本。请注意,有些贡献模块可能无法使用PHP 5.3。而且一些PHP 5.3配置在Drupal 6.14中仍然会显示警告信息。后一个问题正在解决之中:#360605:PHP 5.3兼容性。
Drupal 7需要PHP 5.2或更高版本。
* PHP的内存需求有很大的差别,取决于您网站上使用的模块。Drupal 6 核心需要将PHP 的 memory_limit 至少设置为16MB。Drupal 7核心需要40MB。如果PHP的配置不符合这些要求,将显示警告信息。即使这些值可能对默认的Drupal安装已经足够,但对使用了其它常用模块的网站,则可能需要64 MB或大内存。有些安装配置可能需要更多的内存,尤其是多媒体网站。如果您使用的是虚拟主机,务必请确认您的主机未来在部署更多模块时,允许使用更多的内存。(参见修改PHP内存限制常见问答中的”增加限制使用的PHP内存“部分。)
*相应数据库的PHP扩展应该已经安装和启用。Drupal数据库连接器目前支持mysql(MySQL扩展),MySQLi(一种改进后的MySQL连接器)和pgsql(用于PostgreSQL)。注:PHP 5.x不再默认启用MySQL扩展。请仔细阅读上述链接,启用您选择的连接器。此外,当MySQLi启用时,Drupal 6.x不支持MySQL连接器选项。
* PHP的XML扩展(用于Blog API,Drupal和Ping模块)。这个扩展在标准的PHP安装中默认启用; PHP的Windows版本已经内置该扩展模块的支持。
*图像处理(如为缩放用户图片、图像和imagecache模块等),需要类似GD库之类的PHP图形库。PHP 4.3以上版本通常包括GD库,默认情况下一般已经启用。Drupal核心还支持ImageMagick,以实现基本的图像操作,但来自贡献模块的支持非常少。如果你有Debian / Ubuntu服务器的管理员权限,而GD库尚未启用(检查你的phpinfo返回信息),它通常可以通过以下命令得以安装:
sudo apt-get install php5-gd
如果您要这么做,请参阅ImageMagick的安装指南。
* PHP需要进行如下配置(仅列出与默认php.ini - dist/php.ini推荐值不同的部分),以便Drupal能够运行。:
--  register_globals: off; 这是缺省值,但一些虚拟主机打开了此设置:
-- error_reporting 设置为 E_ALL & ~E_NOTICE. 目前开发人员正设法将Drupal 6和Drupal 7中的该项设置修改为E_ALL。
--  safe_mode: off. 安全模式可能会干扰文件和图像上传。
--  PHP数据对象功能(PDO)必须被激活,Drupal 7才能正常安装和运行。检查您的 php.ini文件。删除“extension= php_pdo.dll”和“extension= php_pdo_mysql.dll”前的分号。如果文件中没有这几行,你需要手工添加它们。您还可以使用 pecl install pdo来安装 PDO的,然后使用 pecl install pdo_mysql来安装PDO数据库驱动程序。更多信息可以在什么是PDO网页找到。
另外,我们推荐以下设置:session.cache_limiter:nocache
*这些设置中的一部分已经包括在缺省的.htaccess文件中,随Drupal发布,所以你应该不需要额外设置它们。但是请注意,通过 .htaccess设置PHP配置选项只适用于以下情形:
-- 使用Apache(或兼容的Web服务器)。如果.htaccess文件实际上被读取,不能将AllowOverride设置为None
-- PHP作为Apache模块安装
*请参阅PHP手册,了解如何更改PHP的接口配置。
* Drupal 7可能需要将时间参数设置为至少30秒。
*在某些虚拟主机环境中,访问这些设置的权限受到限制。如果你不能自己做出这些修改,请通过您托管服务供应商来作出修改。