你不得不知道的php7小知識

醉折花枝作酒筹
發布: 2023-02-18 07:46:01
轉載
1820 人瀏覽過

PHP7正式發佈到現在已經很久了,剛出道就號稱比舊版本快了幾倍,各種開源框架或系統運行在PHP7上速度效率提高了幾倍,反正不管是媒體還是開發者都在煽風點火,不,應該是讚不絕口。

你不得不知道的php7小知識

一般手機系統升級我是跑最後的,因為不願意踩坑,畢竟iOS和Android這種系統都會出現bug,何況世界上被人駭的最多的語言。

今日時機已到,猿姐開始給你們科普科普有關PHP7你必須要了解的幾件事。

1. 新的Zend引擎

Zend引擎從1999年的php4開始就開始驅動著php,Zend(不要與zend framework混淆)是一個用C語言開發的開源引擎.現在的php 5.X的版本用的Zend II版本,它對php來說有著重要的性能提升.Php7將採用叫PHPNG的新引擎來驅動

2. 更方便的錯誤處理

捕獲和處理錯誤對於php程式猿來說,從來不是一件簡單的活.新的引擎將允許你用異常來代替錯誤.就像在php5.X的版本中一樣,在php7中如果異常沒被捕獲,

php將回傳錯誤.

\EngineException 物件沒有繼承\Exception,這保證了程式碼的向後相容和在錯誤處理時的兩種不同類型的異常處理:傳統的和新的引擎的異常處理.

為了方便我們捕獲兩種異常,php7引入了新的如下的異常處理方式:

你不得不知道的php7小知識

3. 64位元windows作業系統的支援

php是LAMP的成員,也就意味著它原生的環境是Linux-但它也能在windows作業系統上運行.5.X版本還不支援64位元整形或大檔案的支援,因此X64 系列的架構的windows還是試驗性的.

php7將會支援支援64位元的windows,也意味著64位元整形和大檔案將被支援

4. 標量類型宣告

標量型別宣告 有兩種模式: 強制(預設) 和嚴格模式。現在可以使用下列型別參數(無論是強制模式或嚴格模式): 字串(string), 整數 (int), 浮點數 (float), 以及布林值 (bool)。它們擴充了PHP5中引入的其他類型:類別名,接口,數組和 回調類型。

你不得不知道的php7小知識

以上例程會輸出:

你不得不知道的php7小知識

#要使用嚴格模式,一個 declare 宣告指令必須放在檔案的頂部。這意味著嚴格聲明標量是基於文件可配的。這個指令不僅影響參數的類型聲明,也影響到函數的回傳值聲明(參見 回傳值類型聲明, 內建的PHP函數以及擴充中載入的PHP函數)

5. 密碼雜湊中的Argon2

Argon2 是榮獲2015 年密碼雜湊演算法比賽中的冠軍的強大雜湊演算法, PHP 7.2 將其作為安全 Bcrypt 演算法的替代方案。

新版的PHP 中引入了 PASSWORD_ARGON2I 常數,現在可以在 password_* 系列函數中使用:

password_hash('password', PASSWORD_ARGON2I);
登入後複製

與只使用一個cost 因子的Bcrypt 不同, Argon2 使用三個cost 因子區分如下:

定義哈希計算期間應該消耗的KiB數量的記憶體開銷(預設值為1

#定義哈希演算法迭代次數的時間開銷(預設值為2)

並行因子,用於設定哈希計算時使用的平行執行緒數(預設值為2)

以下三個新常數定義了默認的cost 因子:

  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST

  • PASSWORD_ARGON2_DEFAULT_TIME_COST

  • PASSWORD_ARGON2_DEFAULT_THREADS

但為什麼猿姐這次要來討論PHP7呢?

因為猿姐之前收到一個巨大的消息

還有兩個月停止PHP 5.6 安全支援!

根據 PHP 官方網站列出的支援版本及時刻表(如下),PHP 5.6 安全支援將於2018年12月31日終止。即兩個半月後,使用 PHP 5.6 版本的網站將不再收到安全漏洞或錯誤更新。

Paragon Initiative Enterprise的首席開發長Scott Arciszewski 在接受採訪時表示,

對PHP生態系統來說,這是一個巨大的問題。許多人認為他們可以'僥倖'在2019年繼續運行PHP 5,而這其實是一種安全工作上的刻意疏忽。

你不得不知道的php7小知識

事實上,PHP 5.6 的主要及安全更新期早就結束,但因使用的網站較多,因此,PHP 維護組織曾一度分別延長其支援時間。有些人將這種情況描述為 PHP 風險。較新的 PHP 7.0 將不再在2018年12月1日的 EOL(生命週期結束)提供安全支援。即便是版本 PHP 7.1 也將於2018年12月1日終止。一年後結束安全支援。

目前三大網站內容管理系統(CMS)專案中,只有 Drupal 宣布從2019年3月6日起,Drupal 支援網頁最低要求 PHP 7,建議使用 7.1 版。 Joomla 建議使用 5.6 或更高版本,支援下限為 5.3.10。 Wordpress 建議使用 PHP 7.2 或更高版本,最低支援 5.2.4。

根據ZDNet 報告,WordFence 安全組件研發主管Sean Murphy 表示,PHP 漏洞利用的主要目標不是在PHP 本身,而是在PHP 庫和CMS 系統中,但其他安全專家認為,等截止日期到來,駭客就會積極利用PHP 5.6 的漏洞的。

PHP漏洞攻擊者主要目標不是在PHP本身,而是在PHP函式庫及CMS系統,在兩個月大限到來,駭客會更積極在PHP 5.6以前版本中找出漏洞。自家網站一不小心被掛馬,網站則淪為色情與賭博站,形像大跌!

推薦學習:php影片教學

以上是你不得不知道的php7小知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!