這幾天遇到一個需求,這個需求寫在了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吧!
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教程有興趣的朋友有所幫助。