这几天遇到一个需求,这个需求写在了php文件里,这个文件最好在命令行里执行。
但是,出问题了。
当我在浏览器里执行php文件的时候,ok,一切正常。
但是,
当我在命令行里执行的时候,报错!
错误信息为:
<code>PHP Fatal error: Uncaught Exception: could <span>not</span> find driver <span>in</span> /<span>var</span>/www/html/huxintong_admin/include/lib/DataBase.<span>class</span>.php:<span>149</span> Stack trace: <span>#0</span> /<span>var</span>/www/html/huxintong_admin/include/<span>class</span>/Base.<span>class</span>.php(<span>9</span>): DataBase->__construct(<span>Array</span>) <span>#1</span> /<span>var</span>/www/html/huxintong_admin/include/<span>class</span>/System.<span>class</span>.php(<span>22</span>): Base::__instance() <span>#2</span> /<span>var</span>/www/html/huxintong_admin/include/crontab/remind/qb_sms_remind_queue.php(<span>13</span>): System::get(<span>'timezone'</span>) <span>#3</span><span>{main}</span> thrown <span>in</span> /<span>var</span>/www/html/huxintong_admin/include/lib/DataBase.<span>class</span>.php <span>on</span> line <span>149</span></code>
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 ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介绍了记一次错误调试,关于php命令行[php cli],包括了php,cli方面的内容,希望对PHP教程有兴趣的朋友有所帮助。