Symfony Cron 库因 Doctrine DBAL 错误而失败
Symfony Cron library failed on Doctrine DBAL error
我在我的 Symfony 项目中使用这个 cron library。它今天工作正常,在从头开始重新创建所有内容(docker、数据库、供应商文件夹)并再次 运行 之后,它崩溃了。
正如文档中所说,我能够发出特定的命令并且它们保存在数据库中。
但是当 运行 bin/console cron:start --blocking
它抛出:
In Manager.php line 60:
Attempted to call an undefined method named "ping" of class
"Doctrine\DBAL\Connection".
在我的日志文件中:
console.ERROR: Error thrown while running command "cron:start --blocking". Message: "Call to undefined method Doctrine\DBAL\Connection::ping()" {"exception":"[object] (Error(code: 0): Call to undefined method Doctrine\DBAL\Connection::ping() at /app/vendor/cron/cron-bundle/Cron/Manager.php:60)","command":"cron:start --blocking","message":"Call to undefined method Doctrine\DBAL\Connection::ping()"} []
您使用的包不兼容 doctrine/dbal >= 3.
您可以将其添加到您的 composer.json
并重新安装,以便您的项目使用 DBAL 2:
"conflict": {
"doctrine/dbal": "^3.0"
},
当然,这取决于您是否不需要 DBAL 3。
不过,坦率地说,我会停止使用 Cron/Symfony-Bundle
。似乎完全没有必要。只需将您的 cronjob 任务直接添加到您的 crontab 中即可。捆绑包并没有让您免于编辑 crontab,因此您不妨将您的任务放在那里。
我在我的 Symfony 项目中使用这个 cron library。它今天工作正常,在从头开始重新创建所有内容(docker、数据库、供应商文件夹)并再次 运行 之后,它崩溃了。
正如文档中所说,我能够发出特定的命令并且它们保存在数据库中。
但是当 运行 bin/console cron:start --blocking
它抛出:
In Manager.php line 60:
Attempted to call an undefined method named "ping" of class "Doctrine\DBAL\Connection".
在我的日志文件中:
console.ERROR: Error thrown while running command "cron:start --blocking". Message: "Call to undefined method Doctrine\DBAL\Connection::ping()" {"exception":"[object] (Error(code: 0): Call to undefined method Doctrine\DBAL\Connection::ping() at /app/vendor/cron/cron-bundle/Cron/Manager.php:60)","command":"cron:start --blocking","message":"Call to undefined method Doctrine\DBAL\Connection::ping()"} []
您使用的包不兼容 doctrine/dbal >= 3.
您可以将其添加到您的 composer.json
并重新安装,以便您的项目使用 DBAL 2:
"conflict": {
"doctrine/dbal": "^3.0"
},
当然,这取决于您是否不需要 DBAL 3。
不过,坦率地说,我会停止使用 Cron/Symfony-Bundle
。似乎完全没有必要。只需将您的 cronjob 任务直接添加到您的 crontab 中即可。捆绑包并没有让您免于编辑 crontab,因此您不妨将您的任务放在那里。