Sylius:"cache:clear" 超时
Sylius: "cache:clear" timeout
我在本地服务器上开发了一个基于 sylius 的站点。我想将它部署到我的 OVH 服务器上。
在 Sylius Sylius Cookbook 中,我没有找到任何特定的程序。所以我按照正常程序。
使用我的 git 存储库的 "git clone" 将我的代码上传到生产服务器
安装我的供应商依赖项"php composer install"但是这一步不起作用,因为它永远不会结束。最后,我总是这样:
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
(请确保在此之后安装资产)。
缓存将在您第一次访问该网站时生成,而不是通过预热生成。
这不仅仅是安装问题,每次您想要清除缓存时都必须使用此解决方法。我的项目正在生产中并且使用它运行良好,只要记得访问该网站一次,这样随机用户就不会因为尚未生成缓存而加载更长的时间。
我在本地服务器上开发了一个基于 sylius 的站点。我想将它部署到我的 OVH 服务器上。
在 Sylius Sylius Cookbook 中,我没有找到任何特定的程序。所以我按照正常程序。
使用我的 git 存储库的 "git clone" 将我的代码上传到生产服务器
安装我的供应商依赖项"php composer install"但是这一步不起作用,因为它永远不会结束。最后,我总是这样:
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
(请确保在此之后安装资产)。
缓存将在您第一次访问该网站时生成,而不是通过预热生成。
这不仅仅是安装问题,每次您想要清除缓存时都必须使用此解决方法。我的项目正在生产中并且使用它运行良好,只要记得访问该网站一次,这样随机用户就不会因为尚未生成缓存而加载更长的时间。