有支 PHP 程式在 Windows 主機上跑得好好的,但在 Linux 會出現問題。

程式出錯的地方是用 PHP PDO 連線到 Sybase,資料會無法取回。把 PDOStatement 的 errorInfo() 印出來,看到錯誤訊息是不允許將 VARCHAR 轉型為 NUMERIC。

Array (

小攻城師 發表在 痞客邦 留言(0) 人氣()

因為要防止 SQL injection,需要做參數化查詢。以往都是把參數 (SQL params) 先放在 array,再把 SQL 與 array 記錄到 log 裡,不過總覺得這做法不太直覺,每次要 debug 也要自己在那邊兜來兜去。

上網查一下發現有 PDOStatement::debugDumpParams 這個函式可以用,可以印出原始的 SQL(未代入參數)、代入參數後的 SQL、各參數,不過這個 function 是無回傳值的 (void),會直接印出到畫面上。

查了一下有一篇 "Something like debugDumpParams in pdo settable to a string",利用緩衝區先把 debugDumpParams() 的內容接住:

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

在 MySQL 中,要查詢某張資料量約數十萬筆的 table,不知道為什麼會非常慢才回應,下了 select 後,看似單純的查詢卻要十幾秒才回應,加上最終結果是將三段 select 以 unioin 結合起來,整個 SQL 執行完畢時,常常已經過了 MySQL Workbench 預設的 30 秒逾時時間。

而且很奇怪的是,在 PHP 程式裡,這段 SQL 就會回應得很迅速。

後來同事幫我除錯一下,發現問題是個簡單的小細節,假設我執行很慢的語法是這樣:

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

昨天總務問我,她要計算計程車車資的合理性,為什麼沒辦法打開任何計程車車資估算工具,她遇到的問題是:

  1. 打開大都會的計程車車資估算畫面,無法看到下半部地圖,輸入地址後也沒有反應:
    https://www.mtaxi.com.tw/計程車-車資-計算/
  2. 以前她有在書籤裡儲存「55688 台灣大車隊車資估算工具」,但打開來瀏覽器說憑證異常,「你的連線不是私人連線」:
文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

向來都做得很順利的 hg pull,昨天在 TortoiseHg 一直出現 error code 255,做到一半就中斷,會出現「cmdserver: 程序意外結束,代碼 255」。如果看詳細的錯誤訊息,裡面還有個錯誤是 "zstd.ZstdError: zstd decompressor error: Corrupted block detected"。

看不懂發生什麼事、也不知道要怎麼處理,本來想說沒辦法直接透過網路做 hg pull,想要叫對方包成包裹 (bundles) 寄給我,但在對方執行 hg bundle 時,她電腦上會出現另一款錯誤訊息:「abort: empty or missing file data for '某個檔案路徑.docx'」。

在對方電腦上切到工作目錄執行以下指令:

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

有一台 MacBook Pro 需要拿來執行台灣經濟新報資料庫 (以下簡稱 TEJ 資料庫),但是研究了一下,因為 Office for Mac 無法跑指定的增益集等程式功能,所以還是要裝 Windows 版的 Office。

【安裝 Office】

由於需要在 Windows 作業系統上執行,因此需要先安裝 Parallels Desktop,再安裝 Office。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

使用者來電跟我說她們要辦活動,廠商請她們自己設計字卡,配合影片 1080P,指定了圖檔大小要是 1920 px x 1080 px,解析度要存成 72 dpi。

因為字卡的內容主要只是更換文字,沒有額外的設計。為了便於讓使用者自己調整內容、不用互相等來等去,所以建議使用者用 PowerPoint 處理。

 

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

因為需要讓手上編寫的網頁符合無障礙標準,所以要安裝 Freego,想說在 macOS 上裝來用看看。

結果到 NCC 的無障礙網路空間服務網的下載專區,下載「單機版檢測工具 Freego 2.0」的 Linux 版後,解壓縮之後打開終端機 (terminal) 視窗,切到目錄、執行主程式:

./freego2_linux

會先出現權限不足的錯誤訊息:

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

要在 PHP 產出 Word 檔,因為之前用同事導入的 PHPExcel 的體驗還不錯,所以決定這次要用 PHPWord。但是事情沒有我想像的簡單,到 PHPWord 的 Github 專案下載專案檔案後,直接解壓縮 src 目錄放到、專案目錄下,光是要按照 PHPWord 的說明文件產生最基本的檔案,就出現錯誤訊息:

PHP Fatal error: Uncaught Exception: Could not find file '/autoload.php'. It is generated by Composer. Use 'install --prefer-source' or 'update --prefer-source' Composer commands to move forward

回頭從安裝仔細看 PHPWord 的說明裡的安裝步驟,發現要用 copmopser 安裝,才會產生前述的 "Autoloader.php" 檔案。

文章標籤

小攻城師 發表在 痞客邦 留言(3) 人氣()

有個網站昨天從 HTTP 升級成 HTTPS,但今天有部分使用者反映無法連線到該網站。

首先遇到的問題是,該 HTTPS 網站用了特殊 port 8080,而防火牆預設只提供 80 與 443,所以要請網管搭配設定。

防火牆放行後,IE 連線到該網站會出現錯誤訊息:

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()