PHP7 が正式にリリースされてから長い時間が経ちましたが、登場当初は旧バージョンに比べて数倍高速になると言われていましたが、PHP7 上で動作するさまざまなオープンソース フレームワークやシステムの速度と効率が向上しています。とにかく、メディアも開発者もみんな炎上を煽っている、いや、称賛に満ちているはずだ。
通常、私は罠にはまりたくないので、携帯電話システムをアップグレードするのは最後にします。結局のところ、iOS と Android システムにはバグがつきものです。言うまでもなく、世界で最もハッキングされている言語。
今日は時間が来ました。ユアン姉妹が PHP7 に関する一般的な科学についてお話し始めます。
1. 新しい Zend エンジン
Zend エンジンは、1999 年の php4 以来、PHP を駆動してきました。Zend (zend フレームワークと混同しないでください) は、C 言語で開発されたオープン ソース エンジンです。現在のバージョンの php 5.X は、php のパフォーマンスが大幅に向上した Zend II バージョンを使用しています。Php7 は、
2 を駆動するために PHPNG と呼ばれる新しいエンジンを使用します。より便利なエラー処理
PHP プログラマにとって、エラーのキャッチと処理は決して簡単な作業ではありませんでした。新しいエンジンでは、エラーの代わりに例外を使用できるようになります。php5.X バージョンと同様に、php7 では、例外がキャッチされなかった場合、
php はエラーを返します。
\EngineException オブジェクトは \Exception を継承しません。これにより、コードの下位互換性と、エラー処理における 2 つの異なるタイプの例外が保証されます。 処理: 従来のエンジン例外処理と新しいエンジン例外処理。
2 つの例外をキャッチしやすくするために、php7 では次の新しい例外処理メソッドが導入されました:
3. 64 ビット Windows オペレーティング システムのサポート
php は LAMP のメンバーです。つまり、ネイティブ環境は Linux ですが、Windows オペレーティング システムでも実行できます。バージョン 5.X はまだ利用可能です。64 ビット シェーピングや大きなファイルはサポートされていません。したがって、X64 シリーズ アーキテクチャの Windows はまだ実験段階です。
php7 は 64 ビット Windows をサポートします。つまり、64 ビット シェーピングと大きなファイルもサポートされることになります。
4. スカラー型宣言
スカラー型宣言には、必須モード (デフォルト) と厳密モードの 2 つのモードがあります。 string、int、float、bool の型パラメータが (強制モードまたは厳密モードのいずれかで) 使用できるようになりました。これらは、PHP5 で導入された他の型 (クラス名、インターフェイス、配列、コールバック型) を拡張します。
上記のルーチンは次の出力を行います:
厳密モードを使用するには、declare 宣言ディレクティブを次の場所に配置する必要があります。ファイルの先頭の終わり。これは、スカラーがファイル ベースで構成可能であると厳密に宣言されていることを意味します。このディレクティブは、パラメーターの型宣言だけでなく、関数の戻り値の宣言にも影響します (「戻り値の型宣言、組み込み PHP 関数、拡張機能にロードされる PHP 関数」を参照)
5. パスワード ハッシュの Argon2
Argon2 は、2015 パスワード ハッシュ アルゴリズム コンペティションで優勝した強力なハッシュ アルゴリズムで、PHP 7.2 では、Bcrypt アルゴリズムの安全な代替として使用されます。
PHP の新しいバージョンでは PASSWORD_ARGON2I 定数が導入され、password_* 一連の関数で使用できるようになりました:
password_hash('password', PASSWORD_ARGON2I);
1 つのコスト要素のみを使用する Bcrypt とは異なり、Argon2 は 3 つのコスト要素を使用します。
ハッシュ計算中に消費される必要がある KiB メモリ オーバーヘッドの量を定義します (デフォルト値は 1
ハッシュ アルゴリズムの反復回数を定義します。 時間オーバーヘッド (デフォルト値は 2)
ハッシュ計算で使用される並列スレッドの数を設定するために使用される並列係数 (デフォルト値は 2)
次の 3 つの新しい定数は、デフォルトのコスト係数を定義します:
PASSWORD_ARGON2_DEFAULT_MEMORY_COST
PASSWORD_ARGON2_DEFAULT_TIME_COST
PASSWORD_ARGON2_DEFAULT_THREADS
しかし、なぜ今回、Yuan 姉妹が PHP7 について議論しに来たのでしょうか?
ユアン姉妹は以前大きなニュースを受け取ったためです。
PHP 5.6 のセキュリティ サポートの停止まで、まだ 2 か月あります。
PHP 公式 Web サイト (下記) に記載されているサポート対象バージョンとスケジュールによると、PHP 5.6 のセキュリティ サポートは 2018 年 12 月 31 日に終了します。つまり、2 か月半後、PHP バージョン 5.6 を使用している Web サイトは、セキュリティの脆弱性やエラーに関する更新を受信しなくなります。
Paragon Initiative Enterprise の最高開発責任者である Scott Arciszewski 氏はインタビューで、
これは PHP エコシステムにとって大きな問題であると述べました。多くの人は 2019 年に PHP 5 を実行しても「問題なくできる」と考えていますが、これは実際にはセキュリティに対する意図的な見落としです。
実は、PHP 5.6 のメジャーアップデート期間とセキュリティアップデート期間はずっと前に終了していますが、使用されている Web サイトの数が多いため、PHP 保守組織がそれぞれサポート期間を延長したことがあります。この状況を PHP リスクと表現する人もいます。新しい PHP 7.0 は、2018 年 12 月 1 日の EOL (サポート終了) でセキュリティ サポートを提供しなくなります。バージョン PHP 7.1 も 2018 年 12 月 1 日に廃止されます。セキュリティサポートは1年で終了します。
3 つの主要な Web サイト コンテンツ管理システム (CMS) プロジェクトの中で、Drupal だけが、2019 年 3 月 6 日以降、Web ページの最小要件である PHP 7 をサポートし、バージョンの使用が推奨されることを発表しました。 7.1. Joomla はバージョン 5.6 以降を推奨しており、サポートは 5.3.10 から始まります。 Wordpress では PHP 7.2 以降を推奨しており、少なくとも 5.2.4 がサポートされています。
ZDNet によると、WordFence のセキュリティ コンポーネントの研究開発ディレクターであるショーン マーフィー氏は、PHP の脆弱性悪用の主なターゲットは PHP 自体ではなく、PHP ライブラリと CMS システムにあると述べましたが、他のセキュリティ専門家は、その期限がいつになるのかを信じています。が来ると、ハッカーは PHP 5.6 の脆弱性を積極的に悪用します。
PHP 脆弱性攻撃者の主なターゲットは、PHP 自体ではなく、PHP 関数ライブラリと CMS システムです。2 か月の期限が来ると、ハッカーは PHP 5.6 より前のバージョンの脆弱性をより積極的に見つけるようになります。私自身の Web サイトが誤ってハッキングされ、その Web サイトはポルノとギャンブルの Web サイトになり、そのイメージは暴落しました!
推奨学習: php ビデオ チュートリアル
以上がphp7 について知っておくべき小さなことの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。