Config.php选项

  • 您好下载中心的主题现已开启全免费下载!
  • 欢迎 游客 您的光临,下载之前请先阅读 积分规则(暂行) 。任何技术问题请在论坛提问,本站定制插件售前、售后问题请联系QQ:5916171

死了算了

管理成员
CNXFans
UID
1
注册
2017/07/28
消息
1,004
解决方案
9
反馈评分
5,128
黄金
25,960.2G
Config.php选项

XenForo需要连接到数据库服务器的所有信息均位于src/config.php文件中。

根据您安装XenForo的方式,config.php可能是通过复制原始src/config.php.default文件的内容而创建的,或者XenForo安装程序可能已经为您创建了。

通常情况下,配置文件只包含少量设置,这些设置足以让您的XenForo正常工作,但您可以添加一系列附加选项来改变XenForo的运行方式。

代码:
警告
这些选项控制XenForo安装的基本功能,而不正确的配置可能会导致您的网站无法操作。如果遇到问题,请撤消更改并重config.php试。

config.php中的变量

以下是可以通过控制的所有设置的列表config.php。这些变量名必须完全按照此处显示的内容输入,否则该设置将被忽略。变量名称和值区分大小写。

在每种情况下,变量名称都显示为其默认值,例如:

代码:
$config['variableName']= 'default-value';

数据库连接
代码:
$config['db']['host']= 'localhost';
$config['db']['post']= 3306;
$config['db']['socket']= null;
承载XenForo数据库的数据库服务器的名称或IP地址,端口和套接字。这些信息将由您的托管服务提供商提供给您。

代码:
$config['db']['username']= '';
$config['db']['password']= '';
$config['db']['dbname']= '';
用于连接到数据库服务器的用户名和密码,以及安装论坛的服务器上托管的数据库的名称。

完整的Unicode /表情符号支持

代码:
$config['fullUnicode']= false;

此设置告诉XenForo您是否执行了在论坛内容中支持完整unicode所需的步骤。完整的unicode用于支持在文本中使用表情符号。

如果XenForo安装从版本2开始,而不是从XenForo 1升级,那么您的数据库将已经是完整的unicode格式,并且您可以将此设置以及trueconfig.php文件中的值一起放入。

如果您的XenForo安装已从XenForo 1升级,您需要先运行unicode转换过程,然后才能使用完整的unicode,并且应该保留此设置,false直到您这样做。

注意
完整的unicode支持至少需要MySQL 5.5。

如何升级到完整的Unicode表情符号支持

高级选项

这些选项并不包含在config.php中,因为在大多数情况下,XenForo将使用默认值。如果您决定使用这些设置中的任何一项,请确保在离开系统在生产环境中运行之前全面测试论坛的运行。

全站禁用功能

一些XenForo系统可以从配置文件中完全禁用,无需进入管理控制面板。将这些选项设置为false完全禁用相应的功能。

注意
如果通过config.php文件禁用了系统,则无法通过管理控制面板重新启用系统 - 只有对配置文件进行编辑才能恢复系统的功能。

这些设置的描述描述了如果您将其值设置为,会发生什么情况false。

代码:
$config['enableMail']= true;
$config['enableMailQueue']= true;
$config['enableListeners']= true;
$config['enableTemplateModificationCallbacks']= true;
$config['enableGzip']= true;
$config['enableContentLength']= true;
$config['enableTfa']= true;
$config['enableLivePayments']= true;
$config['enableClickJackingProtection']= true;
$config['enableReverseTabnabbingProtection']= true;

enableMail

完全禁用整个XenForo中的所有电子邮件发送功能。永远不会发送电子邮件。

enableMailQueue

禁用电子邮件排队系统。任何留在队列中的电子邮件都不会被发送,并且任何新的电子邮件将在生成后立即发送,而不是排队等待批量发送。

enableListeners

禁用XenForo中的所有代码事件侦听器。这将在很大程度上关闭所有附加功能,并且在附加组件出错并损坏您的能力时可用于恢复对系统和控制面板的访问。

enableTemplateModificationCallbacks

禁用模板修改使用PHP回调执行操作的能力。与enableListeners此类似,此开关可用于重新获得由于中断回调而无法操作的系统。

enableGzip

默认情况下,XenForo将压缩使用gzip压缩系统生成的页面的最终HTML和CSS输出,然后在收到数据时,浏览器的浏览器将无形中解压缩该系统。这可以显着加快页面加载时间,但如果要禁用此功能并将HTML和CSS作为未压缩的纯文本发送,请禁用此设置。

enableContentLength

通常,XenForo将发送一个Content-Length HTTP标头。在某些服务器配置中,内容可能会在XenForo发送它和最终用户接收它之间进行修改。在这种情况下,Content-Length标头可能无法正确更新,因此应该禁用它。

enableTfa

禁用双因素身份验证(2FA),即用户需要使用用户名和密码以及附加信息(例如手机中的代码)登录的系统。如果您失去了访问管理控制面板的权限,或者您想阻止任何用户使用2FA,则此功能非常有用。

enableLivePayments

有了这个禁用,根本不会处理任何付款。将不会联系支付提供商,也不会尝试进行交易。用于运行带有活动数据库副本的测试站点。

enableClickJackingProtection

通常情况下,XenForo会向X-Frame-OptionsHTTP头发送一个值,SAMEORIGIN作为防止恶意脚本点击的手段。

启用此选项后,您可以将论坛放入iframe并诱使用户点击某些内容,从而防止发生点击劫持攻击。但是,这也可以禁用iframe嵌入的有效使用。只有在了解其含义后才能禁用此功能。

enableReverseTabnabbingProtection

启用后,此选项可防止当用户单击指向外部网站的链接时触发的基于反向Tabnabbing的网页仿冒攻击。但是,这种保护可能会干扰依赖于改变链接点击处理方式的外部服务(如包含会员链接)。只有在了解其含义后才能禁用此功能。

Cookie设置

如果您需要配置访问者浏览器上cookie设置的设置,则可以使用以下设置,但会被警告,这些设置的值不正确或无效可能会使您和访问者无法登录到XenForo用户帐户包括管理控制台。

更改这些值的主要原因是在同一个域中容纳多个XenForo安装。如果您的域只有一个XenForo安装,则无需更改这些设置。

如果你真的需要改变这些价值,你就知道自己在做什么。如果遇到问题,请将这些值重置为其默认值。

代码:
$config['cookie']['prefix']= 'xf_';

所有的cookie都是通过名称来标识的,并且由XenForo设置的cookie的名称通常都带有前缀xf_以允许将它们与其他系统设置的cookie区分开来。更改此值的一个结果是,它将重置所有登录访问者的记住我设置,这些访问者在下次访问您的网站时需要重新登录。

你的前缀的值应使用字母,数字和下划线只,并区分大小写。

代码:
$config['cookie']['path']= '/';

使用默认值/,由XenForo设置的Cookie将在您网站的所有区域提供。如果您需要更改此设置,以便XenForo cookie仅在您的网站的特定部分中可用,请更改该值以将目录路径包括到您网站的正确区域,从网站的根位置开始/。

示例值

'/' XenForo cookie可用于您网站的所有区域。
'/forum/'XenForo Cookie只能通过位于“http://example.com/forum”forum目录中的网页读取,其中example.com是您的网站地址。
'/path/to/other/folder/'XenForo cookie只能通过位于http://example.com/path/to/other/folder的path / to / other / folder目录中的页面读取。
Cookie 不能被位于该位置上方的文件夹中的页面读取,即:
http://example.com/path
http://example.com/path/to
http://example.com/path/to/other

警告
如果您指定的Cookie路径不允许在XenForo根目录中设置cookie,则XenForo将无法读取其设置的cookie,并且登录等关键操作将失败。

代码:
$config['cookie']['domain']= '';

与Cookie路径设置相似,这允许您指定可以读取Cookie的域。需要将此值设置为默认值以外的任何值都是不寻常的,但与cookie路径一样,如果您更改该值,则应该非常小心,因为输入一个防止XenForo读取它自己的Cookie的值将会破坏重要的功能,就像保持登录状态一样。

设置此值的原因是允许Cookie在多个子域中共享,例如,设置为.example.com允许在example.com的所有子域上访问cookie ,例如www.example.com和other.example.com。在大多数情况下,该设置可以保留其默认设置。

示例值

''允许Cookie 只能在其设置的域上被读取
'.example.com'允许在example.com及其任何子域上读取cookie
'subdomain.example.com'允许Cookie只能在subdomain.example.com上阅读

数据和脚本位置

如果您想要更改XenForo存储数据的位置以及它保存在文件中的脚本(如头像,附件和JavaScript文件),则可以通过更改这些设置来完成此操作。

代码:
$config['externalDataPath']= 'data';
$config['externalDataUrl']= 'data';
$config['internalDataPath']= 'internal_data';
$config['codeCachePath']= '%s/code_cache';
$config['tempDataPath']= '%s/temp';
$config['javaScriptUrl']= 'js';

路径变量

在每种情况下,以Path结尾的变量名称指的是服务器上的内部文件系统路径,与安装XenForo的目录相对。相对路径从XenForo安装目录开始。这可以设置在Web根目录之外。

如果您的XenForo安装位于/users/yourname/htdocs/xenforo,则以下示例显示不同值与此路径的关系:

data - /users/yourname/htdocs/xenforo/data
../another-folder - /users/yourname/htdocs/another-folder
这些变量也可以使用来自服务器根目录的绝对路径,例如/users/yourname/htdocs/xenforo/data。

网址变量
名称以Url结尾的变量引用相对于您的Web根目录中可见的XenForo目录的路径。相对URL从您的XenForo安装目录开始。如果您的XenForo安装驻留在http://example.com/xenforo以下示例中,将显示如何评估不同的值:

data - http://example.com/xenforo/data
../another-folder - http://example.com/another-folder
/a-root-folder - http://example.com/a-root-folder
/xenforo/my-folder - http://example.com/xenforo/my-folder
您可以使用完整的网址,包括域名,例如:

http://example.com/xenforo/data
//example.com/xenforo/data

警告
指定为路径的目录必须可由Web服务器写入(chmod 777),否则XenForo将无法将数据存储在这些位置。
如果任何这些路径和URL设置不正确,重要的XenForo功能将被打破。只有当你确切地知道你在做什么时才改变它们。

externalDataPath

这定义了'data'目录的路径,其中XenForo通过Web服务器将文件直接提供给浏览器,例如头像图像和附件缩略图。该目录必须位于Web根目录中。

externalDataUrl

定义“数据”目录的位置,XenForo在其中保存头像和附件缩略图,如从Web服务器中可见的那样。

internalDataPath

定义“internal_data”目录的路径,该目录包含不直接提供给Web浏览器客户端的文件,例如附件。

codeCachePath

定义'code_cache'目录的位置,该目录存储用于加速XenForo执行的缓存版本的PHP文件。这通常位于'internal_data'目录中。

tempDataPath

定义用于存储临时文件的目录的路径,例如刚上传并在存储到最终位置之前正在处理的附件。这通常位于'internal_data'目录中。

javaScriptUrl

将“js”文件夹的位置定义为公共Web服务器上的路径,该文件夹中XenForo希望查找其功能所需的JavaScript文件。该目录必须位于Web根目录中。

数据库适配器

代码:
$config['db']['adapterClass']= 'XF\Db\Mysqli\Adapter';

用于连接到数据库的PHP类的名称。如果您使用MySQL服务器,则没有必要更改此设置。

缓存设置

对于大型XenForo网站,使用缓存机制来加速页面生成可能更为有利。

缓存设置全部属于该$config['cache']部分,在本手册的缓存部分有更详细的讨论。

如果您配置了缓存,则可以随时通过将此选项的值设置为以下值来禁用它false:

代码:
$config['cache']['enabled']= false;

缓存设置

HTTP客户端设置

这些设置控制内部XenForo HTTP客户端的行为,该客户端用于在使用图像和链接代理时从互联网上获取资源,例如图像和网页。

代码:
$config['http']['sslVerify']= null;

$config['http']['proxy'] 默认 null

该sslVerify设置将强制系统在请求资源时使用SSL / HTTPS验证其访问的任何站点的SSL证书。true在某些情况下将此值设置为有利,但SSL证书验证可能有多种方式失败,导致无法获取所请求的资源。如果有疑问,请保留此设置。

如果您希望内部XenForo HTTP客户端通过代理执行其请求,请在proxy设置中输入代理服务器的地址。

其他变量

代码:
$config['globalSalt']= '[%GLOBAL_SALT%]';

该变量定义其用于秘密值盐各种缓存,饼干和其它数据的值,以防止被盗或恶意剂伪造的数据的目的。永远不要向任何人透露全球盐价,因为这会损害XenForo安装的安全性。

通常情况下,XenForo将生成自己的安全全局盐,如果要定义自己的特性,则只需要对其进行更改。

代码:
$config['checkVersion']= true;

如果启用,系统将检查存储在XenForo PHP脚本中的版本号与存储在XenForo数据库中的版本号是否匹配,并且如果数字不匹配,将阻止常规访问者访问论坛当你刚刚上传准备运行升级的文件时,却还没有真正运行升级过程。

代码:
$config['passwordIterations']= 10;

配置基于bcrypt的密码存储系统的优势。更高的数字更安全,但是此设置值的每次增加将大致加倍生成或验证密码所需的时间,从而导致更高的服务器使用率。

代码:
$config['maxImageResizePixelCount']= 20000000;

XenForo尝试调整大小的图像的最大尺寸(总像素数)。大于此的图像将不会被调整大小,因此可能会被拒绝。这是使用宽度×高度来计算的。

代码:
$config['adminLogLength']= 60;

管理员控制面板中保留所有管理员活动日志的天数。在记录操作后经过了这段时间后,它将从数据库中删除。

代码:
$config['chmodWritableValue']= 0;

如果此值不为零,则由XenForo创建的所有文件将自动被chmodded为该值。目录也将被修改为这个值,尽管它们也将始终是用户,组和全局可执行的。在大多数情况下,XenForo会自动确定正确的chmod值。

代码:
$config['proxyUrlFormat']= 'proxy.php?{type}={url}&hash={hash}';

使用图像和链接代理定义链接的格式。

格式必须包括令牌{type},{url}并且{hash},必须目标proxy.php,除非你有一个替代脚本或系统来处理代理请求。

代码:
$config[jobMaxRunTime']= 8;

如果可能,请配置处理作业在被暂停之前允许运行的时间(以秒为单位),以便在其他复飞时进一步处理。

代码:
$config['fsAdapters']= [];

定义可供系统使用的文件系统适配器列表。这是一个先进的电力用户功能,将在以后完整记录。