PHP 開発チームは、PHP 5.5.0 が直ちに利用可能になることを発表できることを誇りに思います。 このリリースには、多数の新機能とバグ修正が含まれています。
PHP 5.5.0 の主な機能には次のものが含まれます:
2013 年 6 月 20 日
bison のサポートを終了< GIT ソースから PHP を構築する場合の 2.4
Zend エンジンの改善:
インライン アセンブラーを使用して実装されるさまざまな Zend 算術関数の ARMv7/v8 バージョンを追加
Linux 上で systemtap 互換の dtrace プローブを有効にすることで systemtap サポートを追加
一時変数およびコンパイルされた VM 変数へのアクセスの最適化。 メモリ読み取り量が 8% 削減されました
関数の引数を渡すための VM スタックと、構文的にネストされた呼び出しが 1 つのスタックに統合されました。 op_array の実行に必要なスタック サイズはコンパイル時に計算され、一度に事前割り当てされます。 その結果、すべてのスタック プッシュ オペレーションでスタック オーバーフローのチェックが必要なくなりました。
全体的な改善:
ジェネレーターとコルーチンが追加されました。
「最後に」キーワードを追加しました。
簡素化されたパスワードハッシュ API を追加しました。
定数配列/文字列参照のサポートを追加しました。
「class」キーワード経由のスカラーとしてのクラス名の解決を追加しました
関数呼び出しの結果やその他の式でのempty()の使用のサポートを追加しました
foreachの非スカラーイテレータキーのサポートを追加しました
foreachのリストのサポートを追加しました
コア:
Zend Opcache 拡張機能を追加し、デフォルトでビルドを有効にします。
多次元配列内の列を返すarray_column関数を追加しました
boolval()を追加しました
パック/アンパックするための「Z」オプションを追加しました
カスタムメッセージを指定するためのassert()のオプションの2番目の引数を追加しました
プロセスのタイトルを変更するためのサポートを追加しましたCLI /CLI サーバー SAPI。 実装は、proctitle PECL モジュールよりも堅牢です
リセット実行中の set_Exception_handler を改善します
set_error_handler および set_Exception_handler に NULL を渡すときに以前のハンドラーを返します
#64175 を実装しました(RFC として HTTP コードを追加) 6585)
実装 #60738 (「set_error_handler」を許可する)ハンドル NULL)
実装 #60524 (php.ini で一時ディレクトリを指定)
実装 #46487 (プロセス ハンドルの逆参照により、これらのプロセスで待機することがなくなりました)
修正されたバグ #65051 (unset() 内で 1 つずつカウント() オフ)
バグ#64988を修正(クラスのロード順序はE_STRICT警告に影響します)
バグ#64966を修正(zend_do_fcall_common_helper_SPECのセグメンテーション違反)
バグ#64960(gc_zval_possible_rootのセグメンテーション違反)を修正
バグ#64を修正936 (ドキュメントのコメントは以前のスキャナーの実行から取得されました)
バグを修正しました#64934 (get_browser() による Apache2 TS クラッシュ)
修正されたバグ #64879 (quoted_printable_encode でのヒープベースのバッファ オーバーフロー、CVE 2013-2110)
修正されたバグ #64853 (利用できない ini ディレクティブの使用が原因) TS ビルド時のクラッシュ)
修正済みバグ#64821(内部プロパティがオーバーライドされるとカスタム例外がクラッシュする)
バグ#64720(zend_deactivate の SegFault)を修正しました。
バグ#64677(実行演算子が周囲の引数を盗む)を修正しました
バグ #64660 を修正(関数定義内のメモリ枯渇によるセグメンテーション違反)
バグ #64578 を修正(set_error_handler の debug_backtrace が zend ヒープを破損する: セグメンテーション違反) バグ #64565 を修正(コピーでは失敗が報告されない)部分コピー)
修正されたバグ #64555 ( foreach はインターンされている場合、キーをコピーしなくなりました)
修正されたバグ #47675 と修正されたバグ #64577 (Solaris での fd リーク)
修正されたバグ #64544 (putenv 使用後の Valgrind 警告)
修正されたバグ #64515 (同じ変数名を使用するとメモリリークが発生する関数宣言で 2 回)
バグ #64503 を修正(コンパイルが失敗し、「zendparse」の型が競合する)
バグ #64239 を修正(デバッグ バックトレースの動作が 5.4.10 または 5.4.11 以降変更されました)
バグを修正しました#64523 XOR を許可しますphp.ini
バグ#64354 を修正(クラスを自動ロードできないオブジェクトの配列のシリアル化解除が失敗する)
バグ#64370 を修正(microtime(true) が $_SERVER['REQUEST_TIME_FLOAT'] 未満)
バグ#64166 を修正(引用符付き) - printable-encode ストリーム フィルタが誤って空白を破棄する)
バグ#64142 を修正(ppc64 での dval と lval の動作が異なる)
バグ#64135 を修正(set_error_handler からの例外は常に伝播されるわけではない)
バグ#63980 を修正(オブジェクトのメンバーはゼロバイトでトリミングされます) )
バグ#63874 を修正(php_strip_whitespace にヒアドキュメントがある場合のセグメンテーション違反)
バグ#63830 を修正(ネストされたジェネレータ内の未定義関数呼び出しでのセグメンテーション違反)
バグ#63822 を修正(ArrayAccess でクロージャを使用するとクラッシュ)
バグ#61681(不正な文法)を修正しました
修正されたバグ#61038(unpack("a5", "str ") が期待どおりに動作しない)
修正されたバグ#61025(__invoke() の可視性が尊重されない)
修正されたバグ#60833(self、parent、static の動作が一貫性を持たないケース -機密)
mail.log のバグ #52126 のタイムスタンプを修正しました
バグ #49348 を修正しました (初期化されていない ++$foo->bar; 通知は発生しません)
バグ #23955 を修正し、setcookie() で Max-Age 属性を指定できるようにしました
バグ #18556 を修正しました(エンジンはクラス名を処理するためにロケール ルールを使用します)
double 変数を integ に変換するときの未定義の動作を修正しましたえーっ。 double は常にゼロに向かって丸められ、2^32 または 2^64 (sizeof(long) に応じて) で除算した余りが計算され、2 の補数表現を想定して署名されます。
削除された従来の機能:
php_logo_gui を削除d( )、php_egg_logo_guid()、php_real_logo_guid()、zend_logo_guid()
Windows XP と 2003 のサポートを削除
Apache2 ハンドラー SAPI:
Windows の Apache 2.4 設定オプションを有効化。
カレンダー:
バグ#64895 (SndToJewish の整数オーバーフロー) を修正しました。
バグ#54254 を修正しました(Adar が 1 つしかない場合、cal_from_jd は月 = 6 を返します)。
CLI サーバー:
バグ #64128 を修正しました (組み込み Web サーバーが ppc64 で壊れています)。
CURL:
Curl ストリーム ラッパーを削除します。
#46439 の実装 - より安全なファイルアップロードのための CURLFile の追加
CURLOPT_FTP_RESPONSE_TIMEOUT、CURLOPT_APPEND、CURLOPT_DIRLISTONLY、CURLOPT_NEW_DIRECTORY_PERMS、CURLOPT_NEW_FILE_PERMS、CURLOPT_NETRC_FILE、CURLOPT_PREQUOTE、CURLOPT_KRBLEVEL、CURLOPT_MAXFILESIZE、CURL のサポートを追加しました。 OPT_FTP_ACCOUNT、CURLOPT_COOKIELIST、CURLOPT_IGNORE_CONTENT_LENGTH、CURLOPT_CONNECT_ONLY、CURLOPT_LOCALPORT、CURLOPT_LOCALPORTRANGE、CURLOPT_FTP_ALTERNATIVE_TO_USER、CURLOPT_SSL_SESSIONID_CACHE、CURLOPT_FTP_SSL_CCC 、CURLOPT_HTTP_CONTENT_DECODING、CURLOPT_HTTP_TRANSFER_DECODING、CURLOPT_PROXY_TRANSFER_MODE、CURLOPT_ADDRESS_SCOPE、CURLOPT_CRLFILE、CURLOPT_ISSUERCERT 、CURLOPT_USERNAME、CURLOPT_PASSWORD、CURLOPT_PROXYUSERNAME、CURLOPT_PROXYPASSWORD、CURLOPT_NOPROXY、CURLOPT_SOCKS5_GSSAPI_NEC、CURLOPT_SOCKS5_GSSAPI_SERVICE、CURLOPT_TFTP_BLKSIZE、CURLOPT_SSH_KNOWNH OSTS、CURLOPT_FTP_USE_PRET、CURLOPT_MAIL_FROM、CURLOPT_MAIL_RCPT、CURLOPT_RTSP_CLIENT_CSEQ、CURLOPT_RTSP_SERVER_CSEQ、CURLOPT_RTSP_SESSION_ID、CURLOPT_RTSP_STREAM_URI、CURLOPT_RTSP_TRANSPORT、CURLOP T_RTSP_REQUEST、CURLOPT_RESOLVE、CURLOPT_ACCEPT_ENCODING、CURLOPT_TRANSFER_ENCODING、CURLOPT_DNS_SERVERS、CURLOPT_USE_SSL
修正されたバグ # 55635(CURLOPT_BINARYTRANSFERは使用されなくなりました。 この定数は下位互換性のためにまだ存在していますが、何もしていません)
バグ #54995 を修正しました(CURLINFO_RESPONSE_CODE のサポートがありません)
新しい関数を追加しました curl_escape、curl_multi_setopt、curl_multi_strerror、curl_pause、curl_reset、curl_share_close 、curl_share_init、curl_share_setopt、curl_strerror、curl_unescape
新しいカール オプションを追加します CURLOPT_TELNETOPTIONS、 CURLOPT_GSSAPI_DELEGATION、CURLOPT_ACCEPTTIMEOUT_MS、CURLOPT_SSL_OPTIONS、CURLOPT_TCP_KEEPALIVE、CURLOPT_TCP_KEEPIDLE、CURLOPT_TCP_KEEPINTVL
DateTime:
DateTimeImmutable が追加されました - DateTime のみのバリアントそれ自体を変更するのではなく、変更された状態を返します。
バグ #64825 を修正しました(DateTimeZone をシリアル化解除すると無効な無料になります)。
バグ#64359を修正(VS2012によるstrftimeクラッシュ)
バグ#62852を修正(無効な日付のシリアル化を解除するとクラッシュが発生する)
バグ#61642を修正(modify("+5 Weekdays")が日曜日を返す)
バグ#60774を修正(DateInterval::format ("%a") は、createFromDateString メソッドを使用して間隔が作成される場合、常に 0 です)
バグ #54567 を修正しました (DateTimeZone のシリアル化/シリアル化解除)
バグ #53437 を修正しました (シリアル化されていない DatePeriod インスタンスを使用するとクラッシュします)
dba :
修正されたバグ# 62489 (dba_insert が期待どおりに機能しない)
フィルター:
#49180 が実装され、MAC アドレス検証が追加されました。
ファイル情報:
libmagic を 5.14 にアップグレードしました。
バグ#64830 を修正(mp3 ファイルの MIME タイプ検出セグメンテーション違反)
バグ#63590 を修正(Windows の TS と NTS で異なる結果)
バグ#63248 を修正(Windows のディレクトリから複数のマジック ファイルをロード)
FPM:
追加 - -with-fpm-systemd オプションで健全性を systemd に報告し、systemd_interval オプションでこれを設定します。 サービスは、systemd ユニット ファイルで Type=notify を使用できるようになりました。
SCRIPT_FILENAME で送信されたときに QUERY_STRING を無視する
システムコールが失敗した場合に警告を記録する
実装された #64764 (FPM init.d スクリプトのサポートを追加)
バグ #64915 を修正した (daemonize=0 の場合は error_log が無視される)
バグ#63999 を修正しました (php を使用) fpm は Solaris 10 または 11 でのビルドに失敗します)
コード カバレッジ スキャンによって検出されたいくつかのメモリまたはリソース リークの可能性と null 逆参照の可能性を修正しました
GD:
バグ #64962 を修正しました(imagerotate により破損したイメージが生成されます)。
バグ #64961 (imagesetinterpolation のセグメンテーション違反) を修正
システム libgd >= 2.1 でビルドを修正 (以前のバージョンでのビルドが壊れているため) バンドルされた libgd が使用されている場合は変更なし
libgd を 2.1 にアップグレード
hash :
hash_pbkdf2() 経由で PBKDF2 のサポートを追加しました
バグ #64745 を修正しました (デフォルトの長さと 16 進数出力を使用すると、hash_pbkdf2() はデータを切り捨てます)
....
http://php.net/ChangeLog-5。 php#5.5.0
実際、元の投稿者はここで分散します
まだXPとwindow2003をサポートしていないのでしょうか?
それは意味がありません
あなたは明らかに「下リバ」ですが、「陽春百雪」のふりをしなければなりません
php5.5 に 100 件以上の貢献が私たち中国人から来ていることは非常に注目に値すると思います。 @Laruence http://www.weibo.com/laruence?page=2&pre_page=1&end_id=3592776740088779&end_msign=-1
より多くの中国の人々がオープンソース分野に参加し、貢献することを願っています。テクノロジーの台本に従うだけではなく、コンピューターテクノロジーの道を創造します~~~
夕食後の個人的な感情、面白いです!
5.5 の正式バージョンが使用されていることを示します
php5.5 の 100 以上の貢献が私たち中国人からのものであることは非常に注目に値すると思います。 @Laruence http://www.weibo.com/laruence?page=2&pre_page=1&end_id=3592776740088779&end_msign=-1
より多くの中国の人々がオープンソース分野に参加し、貢献することを願っています。テクノロジーの台本に従うだけではなく、コンピューターテクノロジーの道を創造します~~~
夕食後の個人的な感情、面白いです!
まあ、人口は多いですが、教育レベルは他の国に比べてはるかに低いです
まだXPとwindow2003をサポートしていませんか?
それは意味がありません
あなたは明らかに「低い人」ですが、それでも「高い人」のふりをしたいのですか マスターがダイヤモンドにアップグレードするのにどれくらいかかりますか? おめでとうございます〜。 〜