Symfony2: несоответствие количества параметров функций Redis - PullRequest
0 голосов
/ 12 сентября 2018

Я использую приложение Symfony 2.7, которое взаимодействует с сервером Redis.Приложение работает на сервере Ubuntu 18.04.с php7.2.

Я использую библиотеку snc_redisbundle для взаимодействия между Symfony и Redis.В основном я использую только команды: `` `

$redis->setEx(...); 
$redis->get(...); 

При использовании одного из этих методов я получаю следующее предупреждение (Stacktrace):

PHP Warning:  Redis::setex() expects exactly 3 parameters, 0 given in /vagrant/app/cache/prod/appProdProjectContainer.php on line 6954
PHP Stack trace:
PHP   1. {main}() /vagrant/app/console:0
PHP   2. JMS\JobQueueBundle\Console\Application->run() /vagrant/app/console:28
PHP   3. JMS\JobQueueBundle\Console\Application->doRun() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:114
PHP   4. JMS\JobQueueBundle\Console\Application->doRun() /vagrant/vendor/jms/job-queue-bundle/JMS/JobQueueBundle/Console/Application.php:45
PHP   5. JMS\JobQueueBundle\Console\Application->doRun() /vagrant/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:82
PHP   6. JMS\JobQueueBundle\Console\Application->doRunCommand() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:190
PHP   7. AppBundle\Command\ImportTransactionsCommand->run() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:850
PHP   8. AppBundle\Command\ImportTransactionsCommand->execute() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:238
PHP   9. Redis_000000001e6eb7de00000000076bcf86fcaf778105bfb1fa4a93de3bacb39221->setex() /vagrant/src/AppBundle/Command/ImportTransactionsCommand.php:240
PHP  10. Redis->setex() /vagrant/app/cache/prod/appProdProjectContainer.php:6954
PHP Warning:  Redis::get() expects exactly 1 parameter, 0 given in /vagrant/app/cache/prod/appProdProjectContainer.php on line 6944
PHP Stack trace:
PHP   1. {main}() /vagrant/app/console:0
PHP   2. JMS\JobQueueBundle\Console\Application->run() /vagrant/app/console:28
PHP   3. JMS\JobQueueBundle\Console\Application->doRun() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:114
PHP   4. JMS\JobQueueBundle\Console\Application->doRun() /vagrant/vendor/jms/job-queue-bundle/JMS/JobQueueBundle/Console/Application.php:45
PHP   5. JMS\JobQueueBundle\Console\Application->doRun() /vagrant/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:82
PHP   6. JMS\JobQueueBundle\Console\Application->doRunCommand() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:190
PHP   7. AppBundle\Command\ImportTransactionsCommand->run() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:850
PHP   8. AppBundle\Command\ImportTransactionsCommand->execute() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:238
PHP   9. Redis_000000001e6eb7de00000000076bcf86fcaf778105bfb1fa4a93de3bacb39221->get() /vagrant/src/AppBundle/Command/ImportTransactionsCommand.php:334
PHP  10. Redis->get() /vagrant/app/cache/prod/appProdProjectContainer.php:6944

Я не понимаю, почемуон жалуется на количество предоставленных параметров, так как я предоставляю параметры в своем коде.

Предупреждение относится к файлу appProdProjectContainer.php, но я не могу изменить здесь функцию, так как файл автоматически генерируется при прогреве кеша Symfony.

Код консоли:

$redis = $this->container->get('snc_redis.clients.default');
$redis->setEx("shadow__".$pid, $lifeTime, 'created_at_'.date('Y-m-d H:i:s')); 
$expireValue = $redis->get($expireKey);

Надеюсь, вы, ребята, можете помочь мне найти решение, заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...