drwo2014 2018-09-12 09:00
浏览 42

Symfony2:Redis函数参数计数不匹配

I am running a symfony 2.7 app which interacts with a redis server. The app is running on a Ubuntu Server 18.04. with php7.2.

I'm using the snc_redisbundle library for the interaction between symfony and redis. I'm basically only using the commands: ```

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

When using one of these methods I get the following Warning (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

I do not understand why it is complaining about the number of supplied parameters since I do supply the parameters in my code.

The warning refers to the file, appProdProjectContainer.php, but I cannot change the function in here since the file is auto-generated by symfony cache warmup.

Console Command code:

$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);

Hope you guys can help me find a solution, Thanks in advance

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀
    • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
    • ¥15 关于#hadoop#的问题
    • ¥15 (标签-Python|关键词-socket)
    • ¥15 keil里为什么main.c定义的函数在it.c调用不了
    • ¥50 切换TabTip键盘的输入法
    • ¥15 可否在不同线程中调用封装数据库操作的类