步骤 6:检查状态
安装完成后,请在“管理 > 报告 > 状态报告”(/admin/reports/status)部分检查您网站的状态。如果此页面显示任何问题,请及时修复。
受信任主机
如果您没有手动创建 settings.php 文件(位于 sites/default/ 目录中,除非您使用多站点安装),安装脚本会为您自动生成该文件。然而,自动生成的 settings.php 文件中不包含“受信任主机(trusted host)”配置。
有一个相关问题的讨论:允许通过安装程序设置受信任主机。
有关为什么此设置很重要的解释,请参阅 受信任主机设置。
确保 settings.php 可写
安装脚本会尝试将 settings.php 设置为只读。在类 UNIX 系统中,您可以通过以下命令修改权限:
chmod u+w sites/default/settings.php
如果您拥有 (S)FTP 访问权限,也可以通过 FTP 客户端修改文件权限,或者在本地编辑后重新上传文件。
编辑 settings.php
在 settings.php 文件中找到“受信任主机配置”部分,并阅读注释。在其中添加允许的主机名匹配模式。例如,如果您的网站域名为 www.example.com,可以添加如下内容:
$settings['trusted_host_patterns'] = [ '^www\.example\.com$', ];
该数组中的每一项都是一个正则表达式,因此点号 (.) 需要转义,符号 ^ 和 $ 分别表示字符串的开始和结束。
如果您希望允许 example.com 的所有子域,可以使用正则表达式 \.example\.com$
或 (^|\.)example\.com$
。后者可同时匹配 example.com 及其子域。如果您只想允许 example.com 和 www.example.com,可以使用正则表达式 ^(www\.)?example\.com$
或分别列出两个模式:
$settings['trusted_host_patterns'] = [ '^www\.example\.com$', '^example\.com$', ];
恢复 settings.php 文件权限
如果您在前一步将 settings.php 设置为可写,请将其改回只读:
chmod a-w sites/default/settings.php
配置文件目录
通常安装脚本会为您自动创建文件目录。如果 Drupal 无法创建该目录(通常是因为缺少权限),请按照以下步骤操作。
在 sites/default 目录下创建一个名为 files/ 的新子目录,并为 Web 服务器用户(通常是 apache 或 nginx)授予读取、写入和执行权限。大多数 FTP 客户端都支持创建目录并设置权限。
排查基于 Apache 的 Web 服务器问题
如果文件目录不属于 Web 服务器用户,有两种方法可以处理。以下说明假设您拥有服务器 Shell 访问权限,并使用 Apache 作为 Web 服务器。如果您没有 Shell 访问权限,可以通过 FTP 程序修改文件夹权限。
在类 Unix 服务器上,可以通过以下命令查看 Web 服务器运行的用户:
对于 Apache 2.x:
$ ps aux | grep apache
对于 Apache 1.x:
$ ps aux | grep httpd
根据服务器版本,您将看到类似以下输出:
www-data 13612 0.1 0.9 50640 20340 ? S 12:29 0:08 /usr/sbin/apache2 -k start
第一列表示 Web 服务器运行的用户。在此示例中是 www-data。为了让 Web 服务器能够写入文件目录,可以使用以下命令更改文件夹的所有者:
$ chown -R www-data sites/default/files
如果您的服务器没有权限更改文件夹所有者,次优方案是通过以下命令为组用户授予写入权限:
$ chmod -R 0770 sites/default/files