目次
1. 下位互換性のない変更" >1. 下位互換性のない変更
ホームページ 見出し PHP7.2バージョンの性能紹介

PHP7.2バージョンの性能紹介

May 14, 2018 pm 01:49 PM
php 導入

この記事では主に PHP7.2 バージョンのパフォーマンスを詳しく紹介し、皆様が PHP7.2 をより明確に理解できるように願っています。

1. 下位互換性のない変更

コア:

  • 閉じられたリソースの場合、gettype()関数が返されます。 リソース(クローズ済み) 、以前の 不明なタイプ を置き換えます。

  • __PHP_Incomplete_Classクラスオブジェクトの場合、is_object()関数はtrueを返します。

  • Netware OS のサポートを削除しました。

  • 配列型がオブジェクト型((object)またはsettype())に変換されると、整数キーが属性名に変換される問題が修正されます。属性名の問題として、以前のバージョンでは数値キーを使用できませんでした。

  • オブジェクト型が配列型((array)またはsettype())に変換されるとき、およびオブジェクトのプロパティが配列にマッピングされるとき(get_object_vars( ))、整数属性は数値キーに変換され、以前のバージョンで整数属性にアクセスできなかった問題が修正されます。

  • 未定義の定数への修飾されていない参照は、以前の通知レベルを置き換えて警告レベルのエラーを引き起こし、それ以降のバージョンではエラー レベルのエラーになります。

  • サポートされる Windows の最小バージョンは、Windows 7 および Windows Server 2008 R2 です。

  • ネイティブのtrait属性値の互換性チェック動作をキャンセルします。

  • objectはクラス名として使用されません。

BcMath

  • 関数はfmod()関数と同じです、bcmod()関数はモジュールをキャンセルしますo 操作 (% )、つまり10 進数値 一部を切り捨てて整数に変換します。例: bcmod('4', '3.5') は 1 ではなく 0.5 を返します。

ハッシュ

  • hmac()hmac_file()hash_pbk df2()hash_init() (オプションパラメータは HASH_HMAC)、これらの関数は非暗号化ハッシュ関数をサポートしなくなります。

JSON

  • json_decode()関数の2番目のパラメータassocがnullの場合、オプションはオプションでJSON_OBJをサポートしますECT_AS_ARRAYが有効になります。以前のバージョンでは、このパラメータは無視されました。

Session

  • 関連コードを削除しました。「!」は$_SESSIONで使用できますキー名に

  • session

    は、セッション状態を正しく管理し、コードに問題がある場合に無効な操作を禁止するために使用されます。残念ながらこの問題が発生した場合は、コードに問題があることを意味します。これらの関数は、正しいセッション ステータスを設定または返すために使用されます。

  • session_unset()session_write_close()/session_commit()session_abort() session_reset()、これらの関数は値を返しません返されるブール値になります。空のパラメータを許可し、これらの空のパラメータをチェックします。

  • session_start()session_set_cookie_params()session_name()session_module_name() session_set_save_handler()session_regenerate_id( )session_cache_limiter()session_cache_expire()session_unset()session_destroy() session_write_close()/session_commit() session_reset()、これらの関数は無効なセッション ステータスと http ヘッダー ステータスを無効にし、正しいブール値または数値を返します。

  • session.namesession.save_pathsession.cookie_lifetimesession.cookie_pathsession.cookie_domainセッション。 Cookie_httponlySession.cookie_secureSession.use_cookiesSession.use_only_CookiesSession.use_mode er_check Session.cache_limiter セッション.cache_expiresession.lazy_writesession.save_handlersession.serialize_handlersession。 session.gc_piorsession.gc_maxlifetime 、これらの ini 値の設定は ini_set() 関数によって正常に呼び出される必要があり、無効な ini 変更操作は成功しません。

    セッション管理(
  • session_start()

    )ができるため、E_ERRORレベルのエラーメッセージの一部がE_WARNINGレベルに変換されます。

    無効で役に立たないセッションでセッションが初期化されることはなくなります
  • ヘッダー情報が送信されると、この時点で新しい ini 値の設定は無効になります (

    session_name( 経由) )session_module_name()session_save_path()session_cache_limiter()、およびsession_cache_expire()機能)。

    これらの正しい動作は、cli コマンドラインモードでの管理セッションの状態に影響を与えます。 Web アプリケーションと同様に出力バッファリングを使用すると、cli スクリプトの問題が解決されます。


Standard

バージョン 7.1 以降、64 ビットマシン上の同じシードに対する

mt_rand()

rand()バージョン 7.1 乱数を生成順序は異なる場合があります。

2. 新機能

Core

    メソッドとインターフェイスをオーバーライドする場合、そのパラメーターの型は省略されます。これは、リスコフ平衡原理のパラメータ タイプの反変に従います。
  • 継承された抽象クラスが、継承された抽象クラスの抽象メソッドをオーバーライドできるようにします。

  • グループ化された名前空間で末尾のカンマを許可します。

  • オブジェクトタイプの注釈が許可されます。

DBA

  • LMDB バックエンドのサポートを実装しました。

JSON

  • json_encode()json_decode()のサポートを追加しましたJSON_INVALID_IGNOREJSON_INVALTD_UTF8_SUBSTITUTEのサポート、以前の無効なタイプの UTF-8 エンコーディングを置き換えます。

OCI8

  • Oracle データベースの透過的アプリケーション フェイルオーバー (TAF) のサポートを追加しました。

PCRE

  • ローカルのPCRE_DUPNAMESオプションを変更するための内部オプション(j)を追加しました。

Sodium

  • 新しい暗号拡張機能。

SQLite3

  • は、BLOBの書き込みを実装します。

Standard

  • libargon2 で PHP をコンパイルする場合、簡素化されたハッシュ パスワード API が Argon2 をサポートするように更新されました。

  • Windowsプラットフォームはproc_nice()関数をサポートしています。

Zip

  • 読み取り/書き込み暗号化アーカイブ、libzip 1.2.0に依存、新しいメソッド: ZipArchive::setEncryptionName($name, $method[,言葉] ); ZipArchive:: setEncryptionIndex($index, $method[,$password]); 新しい定数: ZipArchive:: EM_AES_128 ZipArchive:: EM_AES_256

  • zip ストリーム コンテキストから「パスワード」を受け入れます。

  • ZipArchive は可算性を実装し、

    ZipArchive::count() メソッドを追加します。

3. SAPI モジュールの変更点

4. 非推奨の機能

以下は、php8.0 バージョンで非推奨となる機能です。

Core

  • プロファイル追跡エラーは破棄されます。

  • __autoload()は非推奨となり、代わりにspl_autoload_register()を使用します。

  • (unset)は、unset($var)の言語構造には影響しません。

  • create_function()関数は非推奨となり、代わりに匿名関数を使用します。

  • each()関数構造は放棄され、foreach()ループに置き換えられます。

Exif

  • read_exif_data()は非推奨になる予定です。代わりにexif_read_data()を使用してください。

GD

  • png2wbmp()jpeg2wbmp() は非推奨になります。

GMP

  • gmp_random()は非推奨になります。代わりにgmp_random_bits()または()を使用してください。

Intl

  • INTL_IDNA_VARIANT_2003は、INTL_IDNA_VARIANT_UTS46を優先して非推奨になりますと交換します。

Mbstring

  • mbstring.func_overloadの設定ファイルは非推奨になります。

Standard

  • 引数なしでparse_str()を呼び出すことは非推奨になります。

  • 文字列パラメーターを使用したassert()の呼び出しは非推奨となり、代わりに正規表現を使用します。

5.

Standard

  • PASSWORD_ARGON2Iに設定した場合password_hash() は Argon2 ハッシュを生成できます。

  • PASSWORD_ARGON2I を使用する場合、デフォルトで次のオプションが設定される場合があります: memory_costtime_cost。これらのオプションのデフォルト値は PASSWORD_ARGON2_DEFAULT_MEMORY_COST です。設定されていない場合、デフォルトは PASSWORD_ARGON2_DEFAULT_TIME_COST および PASSWORD_ARGON2_DEFAULT_THREADS です。

  • password_verify() は Argon2 ハッシュを検証できます。

  • password_get_info()password_needs_rehash() は Argon2 ハッシュを受け入れることができます。

  • mail()/mb_send_mail()は配列$extra_headerを受け入れます。配列パラメータは RFC 2822 に対してチェックされます。 配列形式: php $extra_headers = [ 'ヘッダー名' => 'ヘッダー値', '複数' => ['1 つのヘッダー', '別のヘッダー'], 'Multiline' = "FirstLinern SecondLine", ];

  • 無効なパラメータが渡されると、count()関数は警告警告をスローします。

  • ビッグエンディアンとリトルエンディアンのバイトオーダーでは、pack()unpack()はfloat型とdouble型をサポートします。

  • number_format() 関数は、ゼロ値に負の符号が含まれていないことを保証します。

XML

  • utf8_encode()utf8_decode()関数は文字列として標準拡張に移動されました。

6. 新しい関数

Core

  • を追加しましたstream_istty()

  • sapi_windows_vt100_support()を追加しました。

DOM

  • DomNodeListはCountableを実装し、DomNodeList::count()を追加します。

  • DOMNamedNodeMapはCountableを実装し、DOMNamedNodeMap::count()を追加します。

FTP

  • ftp_append()を追加しました。

GD

  • imagesetclip()imagegetclip()を追加しました。

  • imageopenpolygon()を追加しました。

  • imageresolution()を追加しました。

  • imagecreatefrombmp()imagebmp() を追加しました。

ハッシュ

  • hmac_algos()を追加しました。

Mbstring

  • mb_chr()mb_ord()が追加されました。

  • mb_scrubを追加しました。

OCI8

  • oci_register_taf_callback() oci_unregister_taf_callback( ) Oracle データベースの透過的アプリケーション フェイルオーバー (TAF) のサポート。

ソケット

  • が追加されましたsocket_addrinfo_lookup()socket_addrinfo_bind() および socket_addrinfo_explain()

SPL

  • spl_object_id()を追加しました。

  • 7. 新しいクラスとインターフェイス

8. 拡張機能と SAPI を削除しました

Mcypt

    非推奨の mcrypt 拡張機能は PECL に移動されました。
  • libmcrypt は 2007 年以降メンテナンスされていないため、この拡張機能の継続使用は推奨されません。

  • 9. 拡張機能へのその他の変更

EXIF

    次の形式の exif タグのサポートを追加しました: Samsung、DJI、Panasonic、Sony、Pen税金、ミノルタ、シグマ/フォビオン、AGFA、京セラ、リコー、エプソン。
  • exif_read_data()
  • exif_t​​ humbnail() は、最初のパラメータとしてストリームを渡すことをサポートしています。

    GD

  • --enable-gd-native-ttf設定オプションを削除しました。

  • imagegd()
  • は、以前のパレットへの変換を置き換えて、トゥルーカラー イメージをトゥルーカラー イメージとして保存します。 システム libgd でコンパイルする場合、

  • magealias()
  • もサポートされます。

    Mbstring

    mb_check_encoding()
  • は、配列パラメータを受け取り、そのキーと値を再帰的にチェックします。

  • mb_convert_encoding()
  • は、値のエンコーディングを再帰的に変換できる配列パラメータを受け入れます。

PDO_OCI

  • --with-pdo-ociの構成構文はOracleクライアントでは使用できなくなります。

pdo_sqlite

  • sqlite3_prepare_v2()sqlite3_close_v2()を使用します 以前の機能を置き換えます。

10. 新しいグローバル定数

Core

  • PHP_FLOAT_DIG

  • PHP_FLOAT_EPSILON

  • PHP_FLOAT_MIN

  • PHP_FLOAT_MAX

  • PHP_OS_FAMILY

Fileinfo

  • FILEINFO_EXTENSION

GD

  • IMG_EFFECT_MULTIPLY

  • IMG_BMP

PCRE

  • PREG_UNMATCHED_AS_NULL

標準:

  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST

  • PASSWORD_ARGON2_DEFAULT_TIME_COST

  • PASSWORD_ARGON2_DEFAULT_THREADS

  • PASSWORD_ARGON2I

11. INI ファイル処理の変更

sql.safe_ モード

  • この INI オプションは削除されました。

realpath_cache_size

  • デフォルトは 4096k です。

opcache.fast_shutdown

  • この INI オプションは削除されました。 fast_shutdown 処理のバリアントが PHP カーネルに統合されており、運用環境ではデフォルトで有効になります。

12. Windows のサポート

  • VT100 コンソール モードをサポートします。

13. その他の変更点

コンパイルシステム

  • autoconf の最小サポートバージョンは 2.64 です。

関連する推奨事項:

Win10 に IIS、MySQ、nginx、php7.1.7 をインストールするにはどうすればよいですか?

PHP7の新機能紹介

PHP7のパフォーマンスを倍増させる鍵を詳しく解説

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。