pixelant/pxa-lpeh

通过在无需发起外部HTTP请求的情况下加载本地页面内容,加快错误页面处理速度,并释放PHP工作进程。

安装次数: 120,907

依赖关系: 0

建议者: 0

安全: 0

星标: 7

关注者: 5

分支: 4

开放性问题: 2

类型:typo3-cms-extension

v1.1.1 2022-12-05 07:42 UTC

This package is auto-updated.

Last update: 2024-09-05 11:53:13 UTC


README

此扩展通过在无需发起外部HTTP请求的情况下加载本地页面内容,加快错误页面处理速度并释放PHP工作进程。

速度提升取决于您的服务器外部HTTP请求的往返时间(包括DNS解析),但可能比现在快3倍。

安装

  1. 从TYPO3扩展存储库下载或使用Composer安装扩展: composer req pixelant/pxa-lpeh
  2. 在管理工具 > 扩展模块中启用扩展或运行 vendor/bin/typo3 extension:activate pxa_lpeh

配置

默认配置

默认情况下无需配置。

扩展将使用任何“显示页面内容”错误处理器的配置。

  • 当“显示页面内容”指向内部TYPO3页面时,请进行内部请求,例如“t3://page?uid=404”。
  • 外部请求将正常进行并发出外部请求。例如,当“显示页面内容”指向“https://www.example.com”时。

禁用页面内容错误处理器覆盖

默认情况下,此扩展覆盖了PageContentErrorHandler类,并且仅在错误处理器配置明确要求外部请求时调用此类。

您可以在管理工具 > 设置 > 扩展配置中通过勾选“不替换标准的‘显示页面内容’错误处理器,而是使用‘PHP类’”来禁用此覆盖。

您仍然可以通过在网站管理 > 网站 > [您的网站] > 错误处理中显式配置PHP错误处理器类来使用此扩展。

  1. 创建新的错误处理
  2. 将“HTTP错误状态码”设置为404
  3. 将“如何处理错误”设置为“PHP类”
  4. 将“错误处理器类目标(FQCN)”设置为Pixelant\PxaLpeh\Error\PageErrorHandler\LocalPageErrorHandler
  5. 将“显示页面内容”设置为当前网站中的一个页面以生成链接,例如t3://page?uid=78

避免挂起的HTTP请求

在负载高的情况下,错误页面的外部请求可能会挂起您的网站。我们建议将$GLOBALS['TYPO3_CONF_VARS']['HTTP']['timeout']设置为非零值以减轻此问题。

最终错误回退

如果获取页面失败,将显示一个带有http状态码的“通用”TYPO3错误页面。这可能是因为链接不是指向页面,该页面在此网站上不存在等。

问题和贡献

请随时提交问题或为此扩展贡献拉取请求。