PHP 8.0 現在可用於 Kinsta 所有環境和網站

PHP 8 已於 2020 年 11 月 26 日正式發佈 ! 今天,Kinsta 平台也正式發佈將 PHP 8.0 與 PHP 7.3 和 7.4 一起可用於 Kinsta 上的所有環境 (包含 Staging)。之前,PHP 8.0 (RC1) 僅可用於 Staging 環境,以防止生產網站上出現不相容的錯誤。

最新版本的 PHP 8.0 引入了許多性能提升功能,例如:JIT 編譯、Union Types 2.0、負索引數組等等,PHP 8.0 是目前為止 PHP 最快的版本,因此,如果你的網站「佈景主題」和「外掛」完全相容,我們建議你進行升級。

切換到 PHP 8.0 之前,請記住以下幾點:

  • 為了相容性,我們建議僅將 PHP 8.0 與 WordPress 5.6 或更高版本配合使用。如果你運行的是 WordPress 的舊版本,請在 Staging 環境中升級到 WordPress 5.6 測試你的網站,如果測試沒有問題,請再你的正式 (生產) 網站中升級。
  • 並非所有外掛佈景主題都與 PHP 8.0 相容,Kinsta 和 WooWP 的支援團隊都無法協助解決代碼相容性問題,如果你在網站上發現不相容的問題,請降級到 PHP 7.4,並與你的外掛或主題開發人員 (開發商) 聯絡,處理關於 PHP 8.0 不相容的問題。
  • PHP 8.0 與 ionCube Loader 擴展的相容性,Kinsta 預計將在 2021 年第一季度發佈,如果你的網站依賴 ionCube Loader 的功能,請不要在此時升級到 PHP 8.0。

如何升級到 PHP 8

要啟用PHP 8.0,請轉至 MyKinsta 中控制台的「Tools」頁面。

在「PHP Engine」下,單擊「Modify」,然後選擇 PHP 8.0,就這麼簡單 !

PHP 8.0
PHP 8.0 is now available for all Kinsta environments.

有關最新版本的 PHP 8 升級的更多訊息,請務必查看 Kinsta 關於 PHP 8.0 的深入指南 !

Kinsta 的 PHP 8.0 已經發佈了,站長的技術文章部落格 HelloYungke 也已經轉換為 PHP 8.0 來測試,所用的外掛、佈景主題不多,目前,發現 WP Mail SMTP by WPForms 還未支援 8.0,接下來站長的其他網站也會陸續升級到 PHP 8.0。

1/7 補充:

尋找 WP Mail SMTP by WPForms 對 PHP 8.0 支援的方法,在官方 Support 看到解法,(官方說明會在下一個版本 (2.5.2) 更新,但沒有明確時間。

.../wp-content/plugins/wp-mail-smtp/vendor_prefixed/symfony/polyfill-mbstring/Resources/
Code language: PHP (php)

增加一個 mb_convert_variables.php8 文件,如下:

.../wp-content/plugins/wp-mail-smtp/vendor_prefixed/symfony/polyfill-mbstring/Resources/mb_convert_variables.php8
Code language: PHP (php)

mb_convert_variables.php8 代碼

<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use WPMailSMTP\Vendor\Symfony\Polyfill\Mbstring as p; if (!function_exists('mb_convert_variables')) { /** * Convert character code in variable(s) */ function mb_convert_variables($to_encoding, $from_encoding, &$var, &...$vars) { $vars = [&$var, ...$vars]; $ok = true; array_walk_recursive($vars, function (&$v) use (&$ok, $to_encoding, $from_encoding) { if (false === $v = p\Mbstring::mb_convert_encoding($v, $to_encoding, $from_encoding)) { $ok = false; } }); return $ok ? $from_encoding : false; } }
Code language: PHP (php)

yungkeli

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *