0

我在服务器上有一个 dockerized TYPO3 实例,并尝试手动刷新typo3缓存。因此,我在 docker 容器中使用以下命令来执行此操作:

vendor/.bin/typo3cms cache:flush

但是,它失败并返回此错误:

[ TYPO3\CMS\Core\Error\Exception ]
Warning: rename(): The first argument to copy() function cannot be a directory in /home/app/vendor/typo3/cms/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 2432

我如何调试它并找出问题所在?

使用 -vvv 的完整堆栈跟踪

  [ TYPO3\CMS\Core\Error\Exception ]
  Warning: rename(): The first argument to copy() function cannot be a directory in /home/app/vendor/typo3/cms/typo3/sysext/core/Classes/Utili
  ty/GeneralUtility.php line 2432


Exception code: 1

Exception trace:
#0 ()
   vendor/helhum/typo3-console/Classes/Console/Error/ErrorHandler.php:86
#1 Helhum\Typo3Console\Error\ErrorHandler->handleError()
#2 rename()
   typo3/sysext/core/Classes/Utility/GeneralUtility.php:2432
#3 TYPO3\CMS\Core\Utility\GeneralUtility::flushDirectory()
   vendor/helhum/typo3-console/Classes/Compatibility/TYPO3v87/Service/CacheLowLevelCleaner.php:31
#4 Helhum\Typo3Console\TYPO3v87\Service\CacheLowLevelCleaner->forceFlushCachesFiles()
   vendor/helhum/typo3-console/Classes/Console/Command/Cache/CacheFlushCommand.php:69
#5 Helhum\Typo3Console\Command\Cache\CacheFlushCommand->execute()
   vendor/symfony/console/Command/Command.php:255
#6 Symfony\Component\Console\Command\Command->run()
   vendor/symfony/console/Application.php:1000
#7 Symfony\Component\Console\Application->doRunCommand()
   vendor/helhum/typo3-console/Classes/Console/Mvc/Cli/Symfony/Application.php:169
#8 Helhum\Typo3Console\Mvc\Cli\Symfony\Application->doRunCommand()
   vendor/symfony/console/Application.php:271
#9 Symfony\Component\Console\Application->doRun()
   vendor/symfony/console/Application.php:147
#10 Symfony\Component\Console\Application->run()
   vendor/helhum/typo3-console/Classes/Console/Core/Kernel.php:148
#11 Helhum\Typo3Console\Core\Kernel->handle()
   vendor/helhum/typo3-console/Scripts/typo3-console.php:30
#12 {closure}()
   vendor/helhum/typo3-console/Scripts/typo3-console.php:32
#13 require()
   vendor/helhum/typo3-console/typo3cms:3

cache:flush [--files-only]
4

2 回答 2

2

这是一个已知问题,已在 TYPO3 控制台 5.8.6 版本中得到修复。

于 2020-11-06T10:48:12.190 回答
0

好吧,问题是:如何调试它。即使问题现在已解决,这也可能有所帮助:

你得到了异常跟踪。您在 GeneralUtility.php 第 2432 行设置了一个断点。

如果您已经设置了 xdebug,您只需要使用适当的选项启动命令行命令,例如-e生成调试信息。

您还可以查看 DDEV。我最后一次尝试它时,它运行得非常好,可以让调试器运行,请参阅https://ddev.readthedocs.io/en/stable/users/step-debugging/

我通常将 xdebug 与 PhpStorm 结合使用。

于 2020-11-06T19:55:24.010 回答