將 \x 開頭編碼的資料使用 HTTP POST 傳送與接收

\x 開頭編碼是 16進位的數字,可以直接轉成一般文字輸出,可詳見此篇:將 \x 開頭編碼的資料轉成中文輸出

但是想要將 \x 於 html input / textarea 傳送,再用 $_GET、$_POST 等接收 並且做轉換,要怎麼做呢?

閱讀全文〈將 \x 開頭編碼的資料使用 HTTP POST 傳送與接收〉

PHP 無法看到、寫入 /tmp 的解法

PHP 在寫入檔案的時候(Debain Linux),函式回傳值都是正確的,但是檔案就是沒有出現,到底發生什麼事情呢?

範例程式

<?php
var_dump(file_put_contents('/tmp/abc.txt', 'abc', FILE_APPEND | LOCK_EX)); // int(3)
?>

回傳 3 bytes 都是正確的,但是就是 /tmp/abc.txt 沒有產生

閱讀全文〈PHP 無法看到、寫入 /tmp 的解法〉

PHP 如何為 json_encode 移除 Array Index

PHP 與 JavaScript 串接經常回傳 JSON 格式,但是會遇到 PHP 的 Array 預設 Index (Assoc array key reference index) 都會有 1、2、3 ...,要怎麼移除這 Index 在傳給 JavaScript 呢?

閱讀全文〈PHP 如何為 json_encode 移除 Array Index〉

Debian Linux 系統升級 PHP 需要注意的事項 - 2020

Debian Linux 由 jessie 一路升級到 buster,PHP 也由 7.1、7.2 升級到 7.3,有哪些要注意的事項呢?

  • 註:此篇還是採用 mod-php 的方式,不過 PHP 升級該注意的事項都是一樣的

閱讀全文〈Debian Linux 系統升級 PHP 需要注意的事項 - 2020〉

PHP PECL 升級遇到 unsupported protocol 修復

PHP PECL 升級時,遇到下述錯誤訊息:

  • $ sudo pecl upgrade

    pear.php.net is using a unsupported protocol - This should never happen.
    upgrade failed

要如何修復呢?

閱讀全文〈PHP PECL 升級遇到 unsupported protocol 修復〉

PHP PECL 升級遇到 Command.php、XML 的錯誤修正

PHP 升級 PECL 遇到下述訊息:

$ sudo pecl upgrade

Warning: Invalid argument supplied for foreach() in Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249

Warning: Invalid argument supplied for foreach() in Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249

Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249

Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249

XML Extension not found

要如何修復呢?

閱讀全文〈PHP PECL 升級遇到 Command.php、XML 的錯誤修正〉

PHP Cookie SameSite 的設定方式

Chrome 80 之後的版本,預設的 Cookie 設定將會無法跨站存取 Cookie 值,若想要允許 Cookie 跨網站存取的話(SameSite = None),需要使用 HTTPS 才可以。

  • 註:SameSite 用來阻止瀏覽器將 Cookies 跨網站發送 (prevents the browser from sending this cookie along with cross-site requests)

閱讀全文〈PHP Cookie SameSite 的設定方式〉

PHP 標準化的 RFC、ISO 日期時間格式

在串接資料的時候,常常會看到 2018-06-03T08:02:20+08:00 之類的,這些日期格式大多都是有公開標準的,PHP 裡面有將大多數的標準都設定好可以直接使用囉~

閱讀全文〈PHP 標準化的 RFC、ISO 日期時間格式〉