Tag: exception

Laravel 4.x WhoopsDisplayer::display() must be an instance of Exception

Posted by – September 28, 2017

有個用 Laravel 4.2 開發的舊專案,近來經常遇到下面這個錯誤

PHP Fatal error: Uncaught TypeError: 
Argument 1 passed to Illuminate\Exception\WhoopsDisplayer::display() 
must be an instance of Exception, instance of ParseError given

找了許多討論都提到是 Laravel 4.x 與 PHP 7 不相容的關係。但我的開發環境有 PHP 5.6 和 PHP 7,似乎前者也有機會發生,十分不解。

每當發生這個 Error 就不會看到真正的 Exception 訊息,debug 十分困擾。

Stackoverflow 上找到一個應急用的解法,可以用在開發環境上....

app/config/local/app.php 的檔案開頭加兩行

set_error_handler(null);
set_exception_handler(null);

暫時搞定了...

Formula Error in PHPExcel

Posted by – June 7, 2013

最近在幫客戶開發報表功能,其中一個小功能是將查詢結果匯出成 Excel 檔案,對於會計人員來說相當依賴 Excel。

如果沒有什麼特別的需求,通常會用 PHPExcel 來製作檔案。

一個典型的儲存格設定如下:

$objPHPExcel->setActiveSheetIndex(0)
              ->setCellValue('B6', $order['order_no']);

就在這個匯出功能即將完成時,發現有一個欄位只要一存入內容,PHPExcel 就會出現 Formula Error。

回頭去看資料庫,發現是 VCHAR 欄位,那寫入應該沒啥問題啊。再看看資料內容...

看了兩眼才注意到這個純文字欄位有幾格是 = (等號) 開頭... bingo!

PHPExcel 在指值的時候,碰到等號會轉換成公式,自然就爆掉了。解決方法是把 setCellValue() 換成 setCellValueExplicit(),這樣就不會被轉換了。

收工!