AccuWebHosting 推出 PHP 7 託管

已發表: 2015-12-07

AccuWebHosting 推出 PHP 7 託管

PHP 開發團隊結束了 WebMaster 的漫長等待,宣布 PHP 7 立即可用。PHP 7 是世界上最流行的腳本語言(支持 81% 的網絡)的下一個版本,最終於 2015 年 12 月 3 日發布。

經過八年的完成和數週的推出延遲,PHP 7 終於可以下載了。 Windows 用戶可以從這裡下載 PHP 7 Windows 二進製文件。 在最新版本的 PHP 中,引入了許多更改,因此 PHP 7 肯定不會向後兼容現有的 PHP 4 遺留代碼,儘管它應該與 PHP 5.x 代碼無縫協作。 要檢查 PHP 7 中引入的更改,請參閱更改日誌。

PHP 7 的主要優點

PHP 7 的語法修改最少,並且更加強調性能改進。 在過去的幾個月裡,對 PHP 7 進行了許多基準測試,據稱 PHP 7 比其前身(PHP 5.x)快了近 200%。

PHP 7 將在最新的引擎上運行,即PHPPNG(PHP Next Generation) ,與 Facebook 的 HHVM 等解釋器競爭。 HHVM 多年來一直優於 PHP,這鼓勵了 PHP 7 開發團隊提高能力。 多虧了 PHPPNG,PHP 7 核心引擎現在針對 CPU 和內存進行了更多優化。

根據在 PHP 7 上執行的基準測試,與最新的 5.6 版本相比,PHPPNG 引擎將內存和 CPU 利用率減半。

在這裡,我們將討論升級到 PHP 7 時將提供的一些最令人興奮的新功能。

新運營商

PHP 7 附帶了兩個新的運算符,即spaceship (或組合比較運算符)和null coalesce運算符。

宇宙飛船運算符 ( <=> ) 用於使您的鍊式比較更簡潔。 例如:

 $var1 <=> $var2

這個表達式被評估為:

 -1 如果 $var1 小於 $var2,
0 如果 $var1 等於 $var2,並且
1 如果 $var1 大於 $var2,

這基本上是以下表達式的快捷方式:

 ($var1 < $var2) ? -1 : (($var1 > $var2) ? 1 : 0)

空合併運算符 ( ?? ) 可用作常見用例的快捷方式。 例如,在 PHP 5.x 中,你會做這樣的事情:

 $var1 = isset($var2) ? $var2 : "默認";

在 PHP 7 中,可以使用空合併運算符編寫相同的表達式,如下所示:

 $var1 = $var2 ?? “默認”;

標量類型提示

標量類型提示是最新 PHP 版本最引人注目的功能之一。 您可以使用整數、浮點數、字符串和布爾值作為函數和方法的類型提示。 換句話說,當您將浮點值傳遞給整數參數時,標量類型提示只會將其強制為整數,而不會產生任何錯誤或警告。 但是,當啟用嚴格模式時,當錯誤的類型作為參數傳遞時,它會拋出錯誤。

 <?php
函數雙(int $值)
{
返回 2 * $值;
}
$var = double("8");
var_dump($var);

禁用嚴格模式時,上述代碼不會產生任何錯誤。 此外,作為參數傳遞的字符串“8”將在 double 函數中強制轉換為整數。 如果我們通過在上述代碼的第一行中包含指令 declare(strict_types = 1) 來啟用嚴格模式,則只允許將整數傳遞給 double 函數。

 < ?php
聲明(嚴格類型 = 1);
函數雙(int $值)
{
   返回 2 * $值;
}
$var = double("8");
var_dump($var);

當啟用嚴格模式時,上面的代碼會產生一個致命錯誤。

返回類型提示

返回類型提示允許您定義方法和函數的返回類型。 在強制和嚴格模式方面,它的行為方式與標量類型提示相同:

 < ?php
函數 a() : 布爾
{
返回 1;
}
var_dump(a());

執行上述代碼時,返回值將自動轉換為 bool,不會出現任何錯誤和警告。 啟用嚴格模式時,將引發致命錯誤。

HHVM 與 PHP 7

HHVM是 Facebook 開發人員創建的用於執行 PHP 應用程序的虛擬機。 2008 年,Facebook 團隊開發了一個工具,將 PHP 腳本轉換為 C++,以便在 Web 服務器上編譯和執行。 主要目標是降低服務器資源利用率並容納比服務器實際容量多五到六倍的流量。 為了克服這些挑戰,Facebook 開發了 HipHop 虛擬機 (HHVM)。 此更改增加了服務器容量,以適應增加 500-600% 的網絡流量。

此時,您可能會問:“是什麼讓 HHVM 如此之快?”

HHVM 沒有將 PHP 代碼編譯為 C++,而是利用即時 (JIT) 編譯將 PHP 代碼轉換為中間字節碼。 然後這個字節碼被進一步翻譯成 x64 機器碼。 現在 JIT 編譯器出現了,在運行時動態運行翻譯,允許所有可能的優化。 因此,您的 PHP 應用程序的性能將顯著提高。

PHP 7PHPNG是真正的競爭對手和社區對 HipHop 虛擬機的回應。 HHVM 明顯優於以前的 PHP 版本,但最近的基準測試表明 PHP 7 在某些情況下比 HHVM 稍快。 讓我們看看 ZEND 在一些流行的應用程序上進行的一些基準測試的結果,例如 WordPress、Magento 和 Drupal:

Magento HHVM 3.7 與 PHP 7

從下表推斷,您可以在相同硬件上發出多達 3 倍的 Magento 目錄服務器請求,而 PHP 7 使用的內存減少了 30%。

Magento-HHVM-Vs-PHP7 比較

Magento HHVM 與 PHP 7 比較

來源:www.zend.com

WordPress HHVM 3.7 與 PHP 7

根據顯示的結果,HHVM 3.7 和 PHP 7 之間沒有太大區別。最有趣的事實是,與 PHP 5.6 相比,PHP 7 僅使用了 25% 的服務器執行。 因此,具有相同容量的服務器將能夠為更多的用戶提供服務。

WordPress HHVM 3.7 與 PHP-7 比較

WordPress HHVM 3.7 與 PHP 7 比較

來源:www.zend.com

Drupal HHVM 3.7 與 PHP 7

該圖表表明 PHP 7 明顯快於 HVVM,有趣的是,與 PHP 5.6 相比,Drupal 8 在 PHP 7 上的運行速度快了 72%。

Drupal HHVM 與 PHP7 比較

Drupal HHVM 與 PHP 7 比較

來源:www.zend.com

其他基準

您還可以參考 Rasmus Lerdorf 在 PHP 澳大利亞執行的基準測試。 使用箭頭鍵瀏覽幻燈片。

我應該帶什麼去?

在 PHP 7 或 PHPPNG 之前,對於所有 PHP 版本,HHVM 肯定比 PHP-Zend 包更快。 對於大多數基準測試中的大多數腳本,PHP 7 已經證明了針對 HHVM 的更好性能。

Etsy 和 Wikimedia Foundation 等大型網站使用 HHVM,但從 PHP-Zend 包完全切換到 PHP-HHVM 包需要六個月的時間。 換句話說,從 PHP-Zend 包切換到 PHP-HHVM 包並不是一朝一夕的事。 對於小型網站所有者而言,與需要更多專業知識的複雜過渡到 HHVM 相比,過渡到 PHP 7 會容易得多。

AccuWebHosting 的 PHP 7 託管

毫無疑問,AccuWebHosting 是首批提供 PHP 7 託管的網絡主機之一。 我們熱情的測試團隊期待已久的 PHP 最新版本。 在 PHP 7 發布後的第二天,團隊藉此機會在我們的 Web 託管基礎設施上測試了 PHP 7。

我們很自豪地為 Linux 共享 SSD 託管和 WordPress 託管計劃提供 PHP 7 支持。

AccuWebHosting 在 Linux Shared/Reseller 計劃上提供 PHP 配置插件,允許客戶為目錄和域設置 PHP 7 版本。 我們的 Linux 共享 SSD 託管和 WordPress 託管客戶可以使用以下文章將他們的舊 PHP 版本更改為 7:

從 cPanel 更改 PHP 版本

在專用服務器上支持 PHP 7

  1. 使用 Windows 專用服務器,AccuWebHosting 團隊將按需安裝和配置 PHP 7。
  2. 目前,cPanel/WHM 不支持 PHP 7,因此無法在 cPanel 專用服務器中使用 PHP 7,除非使用 CloudLinux 操作系統。 一旦 cPanel/WHM 開始支持 PHP 7,就可以通過 WHM EasyApache 添加它。
  3. Linux 專用服務器(無 cPanel)客戶可以根據自己的要求安裝和配置 PHP 7。

在 Windows VPS 上支持 PHP 7

我們所有的 Windows VPS 計劃都支持 PHP 7。Windows VPS 客戶需要提交票證才能安裝和配置 PHP 7。

在 Linux VPS 上支持 PHP 7

Linux VPS(無 cPanel)客戶可以根據自己的要求安裝和配置 PHP 7。 由於 cPanel 不支持 PHP 7,cPanel VPS 客戶需要等到 cPanel 推出 PHP 7 支持。 一旦 cPanel 開始支持 PHP 7,就可以通過 EasyApache 添加它。