Partkeepr: Setup2/2 预热缓存 - 来自服务器的无效响应

创建于 2017-02-07  ·  32评论  ·  资料来源: partkeepr/PartKeepr

你好,

在设置 2/2 阶段安装 Partkeepr 时从服务器获得无效响应。
设置:
Ubuntu 16.04 x64 VM 在 Hyper-V 上运行
PHP 7.0.13-0ubuntu0.16.04.1 (cli) (NTS)
mysql Ver 14.14 发行版 5.7.12
铬 55.0.2883.87
最大执行时间=120

我想补充一点,我曾经在具有高 RAM、CPU 和 SSD 磁盘速度的物理机器上安装过同样的错误。

我得到的唯一警告是未安装 php-apcu。

使用指南和官方指南安装。
添加了日志,压缩了三个文件:我在以下位置找到的 setup、dev 和 setup_test: app/logs/*

不知道还能提供什么。
请指教!

编辑:当重新启动安装程序 2/2 时,使用 iotop 命令我看到 mysql 和 apache 服务使用磁盘 IO 几秒钟 - 比如 5 或 10 不确定,然后屏幕上没有其他内容。 看起来它进行了缓存,但随后卡在了某个阶段。 我应该在哪里寻找它挂在哪里的任何点?

编辑2:
显示 Chrome 调试的屏幕截图
我想我应该有这个访问错误,因为这是 Partkeepr 测试对日志的访问。
image

Feedback Needed Setup good first issue

所有32条评论

请查看您的 Web 服务器的错误日志或您的 PHP 安装记录错误的位置

在库存 debian/ubuntu 安装中,错误会转到 /var/log/apache2/error_log

这是 /var/log/apache2/error.log 的内容

错误日志.txt

编辑:看起来它是空的,根据 php.ini 它应该写所有错误类型。
嗯,这听起来很奇怪,但是在 Proxy 下会产生影响吗? 此外,我看到了很多已弃用的代码错误 - 但再次不确定它是否是错误的。

以下是partkeepr/app/logs/setup.log下的最后一个错误

php.INFO:在没有明确实现 Twig_Extension_GlobalsInterface 的情况下,不推荐在“assetic”扩展中定义 getGlobals() 方法。
经过大量文字后,我看到这是热身电话:
...,"类":"PartKeepr\SetupBundle\Controller\CacheWarmupSetupController"... {"函数":"cacheWarmupAction"...

现在看开头,是触发此错误的人:
...{"type":16384,"file":"/var/www/partkeepr-1.2.0/app/cache/setup/classes.php","line":3494,"level":28928," stack":[{"function":"handleError","class":"Symfony\Component\Debug\ErrorHandler","type":"->"},{"file":"/var/www/partkeepr- 1.2.0/app/cache/setup/classes.php","line":3494,"function":"trigger_error"},{"file":"/var/www/partkeepr-1.2.0/app/cache /setup/classes.php","line":3455,"function":"initGlobals","class":"Twig_Environment","type":"->"},{....
@felicitus

你好
试试看
apt-get 安装 php-apcu php-apcu-bc

@FinalHopee出现无效响应消息需要很长时间吗?

是的,好像是2分钟。 我确实按照建议将其配置为 120。
我确实成功安装了 apcu - 没有警告了。
但同样的错误。

然后你应该增加 max_execution_time - 警告缓存是一个磁盘密集型操作,很容易在慢速磁盘上超时。

2017 年 2 月 11 日上午 12:02:22 MEZ schrieb FinalHopee [email protected]

是的,好像是2分钟。 我确实按照建议将其配置为 120。
我确实成功安装了 apcu - 没有警告了。
但同样的错误。

--
你收到这个是因为你被提到了。
直接回复此邮件或在 GitHub 上查看:
https://github.com/partkeepr/PartKeepr/issues/811#issuecomment -279136866

--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet。

将 max_execution_time 设置为 600,但由于某种原因,它在运行 2 分钟后正好显示错误。
我确实重新启动了 apache2 服务,甚至重新启动了主机。

明天我将尝试在物理 PC 上进行新安装。
会及时通知您,感谢您的帮助!

您可以通过使用 phpinfo.php 文件来验证设置是否生效?

上午 11 点。2017 年 2 月 13:20:32 MEZ schrieb FinalHopee [email protected]

将 max_execution_time 设置为 600,但由于某种原因它显示错误
恰好在运行 2 分钟后。
我确实重新启动了 apache2 服务,甚至重新启动了主机。

明天我将尝试在物理 PC 上进行新安装。
会及时通知您,感谢您的帮助!

--
你收到这个是因为你被提到了。
直接回复此邮件或在 GitHub 上查看:
https://github.com/partkeepr/PartKeepr/issues/811#issuecomment -279140451

--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet。

是的,看起来不错。
附上phpinfo数据。
将phpinfo导出为html,可以编辑结尾或者通过浏览器打开方便查看。
那里一切都好吗?
info.html.txt

更新:
首先感谢大家的帮助和时间!
其次,我确实需要增加这方面的知识,以提供更多关于它如何以及为什么起作用的信息。

毕竟这是代理问题,就像我想的那样。
我今天所做的是我使用了我们拥有的新机器,良好的 PC - 根据 Partkeepr Wiki 指南安装了干净的 Ubuntu 和所需的一切,但它没有工作。
然后,我想测试我们地方使用的代理,如果是这样的话。
我所做的是从电脑上拔下网线并再次尝试设置过程,等待 5 - 10 秒后预热完成!
我在另一台我想使用 Partkeepr 的 PC 上进行了相同的测试,它也确实有效!

进一步测试问题,我插入电缆并再次启动设置。
使用相同的地址和相同的浏览器( localhost/setup )我再次收到该错误 - 无效的服务器响应
不知道如何从这里进一步调试它,但它看起来确实有什么东西被阻塞了,它与我们公司的代理有关。 - 我再次使用本地主机地址在 PC 上执行此过程。 当然,远程它也不会工作。

总而言之,它现在可以工作,但为什么它不工作我还不确定。

嗯,这可能是一个问题,因为 PartKeepr 在预热缓存时实际上运行了 cronjobs - 也许这就是它在那个位置超时的原因? 需要为 PartKeepr 实现代理支持,让问题悬而未决

我发现的另一个代理问题是 octopart 支持。
如果没有代理,它会成功找到项目,但在代理下打开网络会失败。

是的,目前 PartKeepr 中不支持代理。

有同样的问题,但不能禁用代理。 有没有办法修改“预热缓存”步骤,它可以在没有互联网连接的情况下工作?

是的,您可以尝试在代码中找到相关行并将其禁用。 我目前没有时间解决这个问题,抱歉:(

恐怕我的软件技能还不够好:(

看起来像 web/setup/js/Cards/UserSetupCard.js
注释行 // this.tests.push(new PartKeeprSetup.WarmupCacheSetup());

注释掉缓存预热部分也对我有用(带有代理的 Windows VM)。

请注意,PartKeepr 需要预热缓存才能正常运行 - 我不建议这样做 - 否则会导致类似 #962 的问题

PartKeepr 假设它具有功能性的互联网连接。

为了解决这个问题,我做了以下事情:
1)我用以下命令卸载了php7.2:
apt-get 删除 php7.2*

2)然后我安装了 php7.1(在默认的 Ubuntu 18.04.1 配置的存储库上不再提供 php7.1 软件包)

有关如何安装 php7.1 的说明,请参阅以下站点:
https://gist.github.com/wayanjimmy/f1679e4c9dc9251fd9df520f5bbe2b5b

我也看到了同样的症状,但这里的讨论似乎都不适用于我的情况。 一些信息:

  • 尽管我已将 max_execution_time 设置为 240 秒,但错误几乎在 2 分钟后出现(正如@FinalHopee也评论的那样)(我还使用 phpinfo.php 进行了检查)
  • 没有使用代理服务器。 由于@FinalHopee通过拔掉电缆使其工作,我通过过滤路由器中的 ip 暂时切断了互联网访问,但这没有任何区别。
  • 我正在使用树莓派 2
  • 安装的php版本为7.0
  • setup.log 文件不包含除“depriated”错误之外的任何错误,其他人也看到了这些错误。

知道如何继续尝试解决此问题吗? 到目前为止,我唯一的猜测是无论如何都会有 2 分钟的超时,这对于 rpi 来说尤其太少了。

提前致谢!

我计时了,正好是 2 分钟,在第二个

同样在这里 :(
安装在 Synology NAS 上。
在 NAS-OS 中进行一些调整后,所有设置部分都能正常运行。
但是,在“预热缓存”大约 2 分钟后它会失败。

  • Apache 2.2 & 2.4 测试
  • PHP 5.6、7.0 和 7.2 测试
  • PHP 超时增加到非常大的值
  • 更改后使用 phpinfo 测试的设置
  • 包括“/usr/local/etc/apache24/conf/httpd24.conf”中的“超时 600”

没办法让它工作 - 这有点令人沮丧......

我认为通过 ssh 命令行运行安装是可以解决的。
也许您可以通过阅读此线程找到解决方案
https://github.com/partkeepr/PartKeepr/issues/916#issue -266508225
我已经在 Synology 上运行它,并且遇到了同样的问题。

我今天在新安装(FreeBSD 11,PHP 7.2)时遇到了这个问题,并为此找到了命令行函数:

root<strong i="6">@server</strong>:/var/www/partkeepr # php ./app/console cache:warmup
 // Warming up the cache for the dev environment with debug true

 [OK] Cache for the "dev" environment (debug=true) was successfully warmed.

现在我正在调试下一个错误……这似乎与 APCU 向后兼容功能有关。

刚刚遇到同样的问题(在 Ubuntu 16.04、PHP 7.0、Apache 2.4.18 上)
手动缓存:热身工作(见上面的帖子),但热身不断通过网络用户界面失败
安装 php-apcu-bc 失败:“没有安装候选”

我将在 ubuntu 18.04 上重试安装

@thijz您的问题涉及(转发)代理,您无法避免?

我的 nginx 反向代理的默认超时时间为 60 秒,所以这让我很吃惊。 不过,我并不完全相信这是一个 PartKeepr 问题。 真的看起来像代理配置问题。

解决正确的代理超时值为我解决了问题。

参考: https ://www.smashinglab.com/fix-504-gateway-time-nginx/

嗨,大家好! 我想添加到这个错误。 我在 OrangePi 上安装 PartKeepr(这绝对不是很快),其中缓存预热需要 2.5 分钟(并且max_execution_time设置为 3 分钟)。 但是,据我了解,在前端某处设置了 2 分钟超时:

image

在屏幕截图中,您可以看到 2 个 warmupCache 请求,一个来自设置过程中的 Web 界面,另一个是通过 Chrome devtools 手动创建的。 第一个在 2m 处被取消,另一个在 2.5 分钟后成功(并返回 OK)。 因此,当缓存预热工作时,前端会在完成之前终止请求。 有没有办法增加 JS 端的超时时间?

是的,超时在这里: https ://github.com/partkeepr/PartKeepr/blob/master/web/setup/js/SetupTests/AbstractTest.js#L96
不知道如何仅针对此请求正确更改它

我在尝试在 Windows 上设置开发 docker 映像时看到了同样的问题(使用带有 WSL2 的 Docker,它的文件系统性能非常差)。 日志表明服务器端最终返回了一个成功的响应,但 UI 在收到它时已经出错,正如@positron96所指出的那样。

我将尝试测试@positron96的拉取请求,看看它是否适用于这个用例。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

WickedAx picture WickedAx  ·  11评论

christianlupus picture christianlupus  ·  55评论

integralmedia picture integralmedia  ·  4评论

kgabryszewska picture kgabryszewska  ·  8评论

dani2bunny picture dani2bunny  ·  24评论