Sylius:"cache:clear" 超时

Sylius: "cache:clear" timeout

我在本地服务器上开发了一个基于 sylius 的站点。我想将它部署到我的 OVH 服务器上。

在 Sylius Sylius Cookbook 中,我没有找到任何特定的程序。所以我按照正常程序。

Executing script cache:clear
 [Symfony\Component\Process\Exception\ProcessTimedOutException]
  The process "'/usr/local/php7.3/bin/php' '--php-ini=/usr/local/php7.3/etc/php.ini' './bin/console' --ansi cache:clear" exceeded the timeout of 20000 seconds.

我以前试过"composer clearcache"。它没有改变任何东西。

我现在正在尝试 "COMPOSER_PROCESS_TIMEOUT = 50,000"。 "composer install" 12 小时前发送,还没发完...

有没有人遇到过这个问题或知道如何找到解决方案? 使用 sylius 时是否需要执行特殊步骤? 因为我真的不知道该怎么办。

更新: 我目前的主要领导是问题将来自 sylius,因为我正在尝试使用 symfony 4 结构创建一个新的 sylius 安装

composer create-project sylius/sylius-standard

同样的结果:

Executing script cache:clear [Symfony\Component\Process\Exception\ProcessTimedOutException] The process "'/usr/local/php7.3/bin/php' '--php-ini=/usr/local/php7.3/etc/php.ini' './bin/console' --ansi cache:clear" exceeded the timeout of 20000 seconds.

我尝试 运行 composer create-project 之后分别使用 --no-scripts 标志和 运行 php bin/console cache:clear 。使用第二个命令该错误再次出现。

您应该首先检查您是否按照 symfony 安装说明为您的 var 文件夹设置了正确的权限。

您也可能 运行该服务器上的资源不足。在我上一个 1.7 项目中遇到了同样的问题。问题来自 cache:clear 的预热(可能是因为 sylius 有很多依赖项,我又添加了很多)。您可能想尝试将 composer.json“脚本”编辑为:

"scripts": {
    "auto-scripts": {
        "cache:clear --no-warmup": "symfony-cmd",
        "assets:install %PUBLIC_DIR%": "symfony-cmd"
    },

或者,正如您根据更新所做的那样,运行 安装带有 --no-script 标志,后跟 bin/console cache:clear --no-warmup(请确保在此之后安装资产)。

缓存将在您第一次访问该网站时生成,而不是通过预热生成。

这不仅仅是安装问题,每次您想要清除缓存时都必须使用此解决方法。我的项目正在生产中并且使用它运行良好,只要记得访问该网站一次,这样随机用户就不会因为尚未生成缓存而加载更长的时间。