今天發現 PHP8 裡有支程式執行時會出現以下錯誤訊息:
Fatal error: Uncaught Error: Call to undefined function ImageCreateFromJPEG()
小攻城師 發表在 痞客邦 留言(0) 人氣(19)
使用者反映,有一個頁面上的資料會出現問號,後來我發現問題是該頁面會先載入一份 Big5 文字檔,內容有這樣的文字:
分子/分母
小攻城師 發表在 痞客邦 留言(0) 人氣(98)
在 PHP 裡執行 AES 加解密,比想像中簡單,加密 (encrypt) 只要使用:
<?php
function _encrypt($data, $encryption_key) {
// openssl_decrypt($data, $cipher_algo, $passphrase, $options)
// $data = 已加密之資料字串
// $cipher_algo = 加密方法 (此次使用 AES 128 ECB)
// $passphrase = 加解密金鑰
// $options = 預設 0
// - OPENSSL_RAW_DATA=1
// - OPENSSL_ZERO_PADDING=2
// - OPENSSL_NO_PADDING=3
// ===
// 以下範例為 AES, key 長度 128 bits,ECB mode,PKCS5padding
return base64_encode(openssl_encrypt($data, 'aes-128-ecb', $encryption_key, 1)); // 透過內建的 openssl 解密
} ?>
小攻城師 發表在 痞客邦 留言(0) 人氣(135)
昨天有一個頁面出現錯誤訊息:「An error occurred translating the query string to UTF-16: 在多位元組的目的字碼頁中,沒有這個 Unicode 字元可以對應到的字元。」
確認了內容,是因為 SQL 語法裡有中文,該 PHP 檔案是 ANSI (Big5) 編碼,程式裡沒有指定語系。
小攻城師 發表在 痞客邦 留言(0) 人氣(228)
手邊有一個檔案上傳功能,要從 MySQL 轉到 SQL server,原始的內容是用 PDO 的 bindValue 把二進制的檔案內容塞進資料庫:
$sth->bindValue(5, $fileContent, PDO::PARAM_STR);
小攻城師 發表在 痞客邦 留言(0) 人氣(105)
昨天有人反映一支有點年代的程式,載入 XML 時好時壞,畫面其他部分有產生出來,就是載入 XML 的部分不一定能順利產製。
查了一下,原本的寫法是:
小攻城師 發表在 痞客邦 留言(0) 人氣(51)
原本對 Sybase 查詢的程式,配合資料庫要移轉到 MSSQL (SQL server),要做調整。發現在執行到 fetch 時奇慢無比,在 SQL server management studio 裡可以秒回的查詢,在程式裡要跑 12~15 秒。
execute 回應的速度很快,真正卡住的點是 fetch()。所以用 "PHP pdo fetch slow" 當關鍵字找了一些解法:
小攻城師 發表在 痞客邦 留言(2) 人氣(117)
剛剛在算一組數字,全都是兩位小數的加法,原本預期是:
6676.18 + 339.37 + 3667.65 + 1204.70 + 4286.02 = 16173.92
小攻城師 發表在 痞客邦 留言(0) 人氣(757)
今天 user 來電,跟我說我的程式沒有正常送出月報。執行後我如果嘗試印出 PHPmailer 的 errorInfo,會出現以下錯誤訊息:
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
小攻城師 發表在 痞客邦 留言(0) 人氣(1,184)
有支 PHP 程式在 Windows 主機上跑得好好的,但在 Linux 會出現問題。
程式出錯的地方是用 PHP PDO 連線到 Sybase,資料會無法取回。把 PDOStatement 的 errorInfo() 印出來,看到錯誤訊息是不允許將 VARCHAR 轉型為 NUMERIC。
小攻城師 發表在 痞客邦 留言(0) 人氣(22)