我在本地服务器上开发了一个基于sylius的网站。我想把它部署在我的OVH服务器上进行生产。
在Sylius Sylius Cookbook中,我没有找到任何特定的程序。所以我按照正常的程序来做。
用 "git克隆 "我的git仓库,将我的代码上传到生产服务器。
安装我的供应商依赖关系 "php composer install",但这一步没有工作,因为它永远不会结束。在最后,我总是有这样的东西,我甚至尝试了 "composer clearcache"。
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 = 50000"。"composer安装 "是在12小时前发送的,现在还没有完成......
有没有人曾经遇到过这个问题,或者知道如何找到一个解决方案? 有没有一个特殊的步骤,当与sylius工作? 因为我真的不知道该怎么做。
更新。目前我的主要线索是,问题可能来自sylius,因为我正试图用symfony 4的结构创建一个新的sylius安装,就像这样。
composer create-project sylius/sylius-standard
一样的结果,执行脚本 cache:clear [Symfony/Component/Process/Exception/ProcessTimedOutException] 进程"'usrlocalphp7.3binphp''--php-ini='"的结果。
执行脚本cache:clear [SymfonyComponent/Process/Exception/ProcessTimedOutException] 进程"'usrlocalphp7.3binphp' '--php-ini=usrlocalphp7.3etcphp.ini' '.binconsole' --ansi cache:clear "超过了20000秒的超时时间。
我试着在运行composer create-project的时候,使用了".binconsole "这个命令。--no-scripts
标志并运行php bin/console cache:clear
之后分别。第二条命令时,bug又出现了。
在我的上一个1.7项目中也遇到了同样的问题。问题来自于cache:clear的预热(可能是因为Sylius有大量的依赖关系)。你可以尝试编辑composer.json中的 "scripts"。
"scripts": {
"auto-scripts": {
"cache:clear --no-warmup": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
或者,就像你在更新时做的那样,在安装时使用 --no-script
旗帜,然后是 bin/console cache:clear --no-warmup
(请确保您正在安装资产后)。
缓存将在你第一次访问网站时生成,而不是通过预热来生成。
这不仅仅是安装的问题。每次你想清除缓存时,你都必须使用这个变通方法。. 我的项目正在生产中,使用这个效果很好,只是得记得访问一次网站,这样随机用户就不会因为缓存还没有生成而加载时间较长。