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 7.2 安裝 Pecl 的 mcrypt

PHP 7.2 將 mcrypt 移除了,建議是直接使用 Openssl 來取代。

不過有些舊有的加解密演算法,OpenSSL 不支援,所以暫時先找 Pecl 的 mcrypt 安裝回來繼續使用。

在這段時間再來做演算法的轉換,轉換到 OpenSSL 支援的演算法~

閱讀全文〈PHP 7.2 安裝 Pecl 的 mcrypt〉

PHP Profiling 效能分析追蹤工具 (APD)

當程式寫完後, 發現整頁跑起來速度有點慢, 要追蹤分析是哪邊是造成速度慢的主因, 通常最簡單的方法, 是用 microtime() (可見此文: PHP 測量程式執行時間)來把每個 Function 包起來, 分別看執行時間.

如果太多要追蹤, 懶得這樣子包來包去, 另外一種就是用 PHP Profiling 的工具(APD)來做, 詳可見下述:

不過, 太久沒用這工具, 沒想到 APD 從 2008年到現在(2011), 都沒有新版, 使用 Pecl 安裝, 也無法直接安裝完成, 在此順便把解法紀錄於此.

閱讀全文〈PHP Profiling 效能分析追蹤工具 (APD)〉