当前位置:Gxlcms > PHP教程 > 记一次错误调试,关于php命令行[phpcli]phpcli模式phpcliserverphpcli多线

记一次错误调试,关于php命令行[phpcli]phpcli模式phpcliserverphpcli多线

时间:2021-07-01 10:21:17 帮助过:17人阅读

这几天遇到一个需求,这个需求写在了php文件里,这个文件最好在命令行里执行。

但是,出问题了。

当我在浏览器里执行php文件的时候,ok,一切正常。

但是,

当我在命令行里执行的时候,报错!

错误信息为:

PHP Fatal error:  Uncaught Exception: could not find driver in /var/www/html/huxintong_admin/include/lib/DataBase.class.php:149
Stack trace:
#0 /var/www/html/huxintong_admin/include/class/Base.class.php(9): DataBase->__construct(Array)
#1 /var/www/html/huxintong_admin/include/class/System.class.php(22): Base::__instance()
#2 /var/www/html/huxintong_admin/include/crontab/remind/qb_sms_remind_queue.php(13): System::get('timezone')
#3{main}
  thrown in /var/www/html/huxintong_admin/include/lib/DataBase.class.php on line 149

ok,很明显嘛!php在cli下面没有pdo驱动,好吧。

于是,我定位到/etc/php5/cli,在这下面进行了一系列的配置,确保添加了pdo的驱动,但是,但是,还是不行!

崩溃了!

但是,没办法,重装太麻烦。

不在沉默中爆发,就在沉默中爆炸,这次,我爆炸了。

在度娘上搜索,没有找到相关问题的答案。程序员嘛,还是用谷歌吧!

google一下这个问题,用英文搜索。

查看到了stackoverflow的网页,有不少人碰到和我一样的问题。

于是,查看了他人的建议:
使用 php -i 查看php在cli下面的详细信息
使用 php -m查看php 在cli下面加载了哪些模块
使用 php –ini 查看php加载了哪些ini文件

一敲 php –ini不要紧,好嘛。加载的是/etc/php/7.0下面的配置文件。

老天,什么时候安装的php7.0我都不知道,我说怎么会不行呢。。。

原来,我一直改的都是php5.0下面的配置文件,而一直用的都是php7.0的配置。

好吧,php7.0先不弄了。


php test.php

php5 test.php
解决问题

附录:stackoverflow这个问题

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了记一次错误调试,关于php命令行[php cli],包括了php,cli方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行