ログイン



Categories » ‘PHP5.4’

PHP 5.5 RC3 is available

6月 7th, 2013 by

2013年6月6日にPHP5.5 RC3がリリースされた。RC2と比べて脆弱性を含むいくつかの不具合が修正されたそうだ。また、同日に、PHP5.4.16とPHP5.3.26もリリースされている。こちらの2バージョンでも、PHP5.5 RC3で修正されたものと同じ脆弱性(CVE-2013-2110)が修正されたようだ。PHP5.3のメンテナンスは、PHP5.5の正式版がリリースされてから1年で打ち切られる。

PHP 5.5 RC3 is available

PHP5.4.3とPHP5.3.13がリリース

5月 10th, 2012 by

PHP5.4.2と5.3.12がリリースされたのが5月6日。そしてそのわずか2日後の5月8日にPHP5.4.3とPHP5.3.13がリリースされた。

修正されたのは以下の2点
・apache_request_headers()のバッファーオーバーフロー問題(5.4系のみで発生)
・CGIで動作させている場合にソースコードが公開されてしまう脆弱性(CVE-2012-2311)の修正の仕上げ

5.4系を使っていて、apache_request_headers()を実行する可能性がある場合や、CVE-2012-2311の影響を受けている場合は、速やかにアップデートしましょう。

PHP5.4.0 RC8

2月 20th, 2012 by

うっかり見落としていましたが、2月15日にPHP5.4.0 RC8がリリースされていました。RC以降の修正点はかなり減ってきていますが、バッファーオーバーフローを引き起こす問題や、max_input_vars関連の調整などが入っており、5.4.0正式版のリリースまではしばらく掛かりそうな印象です。ほぼ2週間周期でRC版がリリースされているので、2月末頃にはPHP5.4.0 RC9もしくは、PHP5.4.0の正式版がリリースされるでしょう。

https://svn.php.net/repository/php/php-src/tags/php_5_4_0RC8/NEWS

15 Feb 2012, PHP 5.4.0 RC 8
– Core:
. Added ability to reset user opcode handlers (Yoram).
. Improved max_input_vars directive to check nested variables (Dmitry).
. Made ZEND_SIGNALS configurable via –enable-zend-signals, off by
default (Stas).
. Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with
$double=false). (Gustavo)

– CGI/FastCGI SAPI
. Fixed reinitialization of SAPI callbacks after php_module_startup().
(Dmitry)

PHP5.4のベンチマークまとめ

2月 18th, 2012 by

PHP5.4の正式版のリリースが迫ってきています。Trait、Short Array Syntacなど魅力的な機能も多数実装されていますが、そんな理由ではPHP5.4は絶対に導入できません。新機能を喜ぶのはプログラマであり、プログラマはPHPのバージョンの決定権などありません。PHPのバージョンを5.4に切り替えてもらうためには、サーバ管理チームや経営陣が喜ぶ理由が必要です。ということで、PHP5.4のパフォーマンスについての記事をまとめてみました。

1. PHP5.4 で Symfony2 は速くなるのか?

Synfonyのテストに掛かる時間と消費メモリ
PHP5.3.8 19.6秒 264.0MB
PHP 5.3.9RC2 19.0秒 191.5MB
PHP 5.4.0RC2 14.2秒 136.8MB

2割以上高速化しています。

2. チューニンガソンで優勝してきました

WordPress(ja) + php + Apache + MySQLの環境で、コメントの投稿速度を競ったところ、PHP5.4を使ったチームが優勝。優勝チーム曰く、PHP5.4を選んだことが勝因だったそうです。

3. PHP5.4のベンチマークが劇的に改善されている。

PHP + Zend OptimizerPlus performance [req/sec]
———————————————-
5.3 5.4 speedup
drupal 1074.3 1146.7 7%
zend framework 102.9 124.6 21%
wordpress 119.8 130.8 9%
xoops 78.4 93.0 19%

実アプリでも、10〜20%前後の性能向上を見込めそうです。

4. WordPress on PHP5.4.0 RC4 + APC

WordPressでベンチーマークを実行。APC無効では2割弱、APC有効では7割近くもスループットが向上しています!

5. PHP5.4.0RC7の実効速度

単純なループで実行速度を測定。PHP5.4.0RC7はPHP5.3.10より5割程度速いという結果に。

6. Performance improvements in PHP 5.4.0

WordPress(投稿が多数ある上に、プラグインも複数導入した状態らしいです)で測定したところ、PHP5.4.0beta1は、php5.3.5と比べて、実行時間が25%短縮され、消費メモリも43%削減されたそうです。

まとめ

PHP5.4は、PHP5.3系と比べて少なくとも9%、条件によっては7割程度の性能向上が見込めそうです。運用するソフトウェアによって性能向上の幅は異なりますが確実に性能が上がります。サーバの負荷がさがり、コスト削減につながります。

PHP5.3系と完全な互換性があるわけではありませんが、PHP5.4の魅力的な機能を使うためなら、プログラマ達は寝食を忘れてPHP5.4対応作業を行うでしょう。

PHP5.4.0RC7の実効速度

2月 7th, 2012 by

PHP5.4は速い。という情報が出ているので実際に測定してみた。

実行環境

EC2でc1.mediumを使って実験した。OSは32ビットで、PHPはコマンドライン(CLI)モードを使った。

ハードウェア

AmazonEC2 c1.mediumを使用。

CPUは以下のとおり。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5506  @ 2.13GHz
stepping        : 5
cpu MHz         : 2133.306
cache size      : 4096 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc aperfmperf pni ssse3 sse4_1 sse4_2 popcnt hypervisor
bogomips        : 4266.61
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5506  @ 2.13GHz
stepping        : 5
cpu MHz         : 2133.306
cache size      : 4096 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc nonstop_tsc aperfmperf pni ssse3 sse4_1 sse4_2 popcnt hypervisor
bogomips        : 4266.61
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

測定してみた

ループ1000万回に掛かる時間を10回測定
ソースコード

1
2
3
4
5
6
<?php
for($i = 0; $i < 10; $i++){
$start = microtime(true);
for($j = 0; $j < 10000000; $j++);
printf("%.5f\n", (microtime(true)-$start));
}

実行結果: PHP5.3.10
平均616ms

1
2
3
4
5
6
7
8
9
10
11
[root@ip-10-150-231-174 ec2-user]# php-5.3.10/sapi/cli/php bench.php
0.61347
0.61123
0.61310
0.61214
0.61255
0.61618
0.61851
0.61899
0.62268
0.61765

実行結果: PHP5.4.0RC7
平均:408ms PHP5.3.10比で1.51倍の実行速度

1
2
3
4
5
6
7
8
9
10
11
[root@ip-10-150-231-174 ec2-user]# php-5.4.0/sapi/cli/php bench.php
0.40750
0.40780
0.40873
0.40742
0.40734
0.40746
0.40784
0.40703
0.40780
0.40723

まとめ

掲載した以外にも何パターンかのベンチマークをとってみたが、いずれの測定結果でも実効性能は大幅に向上していた。既にRCまで開発が進んでいるので、正式版でもほぼ同じような性能特性になるだろう。性能面だけをとってみても、PHP5.4は価値のあるリリースになりそうだ。

PHP5.4.0 RC7

2月 6th, 2012 by

2012年2月2日に、PHP5.4.0 RC7が密かにリリースされていました。同じ日にPHP5.3.10リリースノートを見る感じでは、次にPHP5.4.0 RC8が控えており、RCの文字が取れるのは来月以降になりそうです。

RC7 ダウンロードページ
http://qa.php.net/

いつまでRCが続くか予想するのは難しいですが、春頃には正式版がリリースされ、運用に使われるのは2012年末頃ではないでしょうか。

PHP 5.4.0 RC6 released

1月 26th, 2012 by

PHP5.4.0 RC6のリリースがでてました。次の候補版は2月2日にリリースされるということなので、正式版はもうすこし先になるのでしょうか。

RC6ではtraitが改良されます。

The 6th release candidate focused on improving traits. Please test them carefully and help us to identify bugs in order to ensure that the release is solid and all things behave as expected.

traitについては、「PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門」に分かりやすい解説があります。

PHP5.4.0RC6

1月 23rd, 2012 by

2012年1月19日に、PHP5.4.0RC6がリリースされています。

以下、リリースノートの引用

19 Jan 2012, PHP 5.4.0 RC6

– Core:
. Restoring $_SERVER[‘REQUEST_TIME’] as a long and introducing
$_SERVER[‘REQUEST_TIME_FLOAT’] to include microsecond precision. (Patrick)
. Fixed bug #60768 (Output buffer not discarded) (Mike)

– Hash
. Fixed bug #60221 (Tiger hash output byte order) (Mike)
. Removed Salsa10/Salsa20, which are actually stream ciphers (Mike)

– Pdo Firebird:
. Fixed bug #47415 (segfaults when passing lowercased column name to
bindColumn). (Mariuz)
. Fixed bug #53280 (segfaults if query column count less than param count).
(Mariuz)

– SNMP:
. Fixed bug #60585 (php build fails with USE flag snmp when IPv6 support
is disabled). (Boris Lytochkin)
. Fixed bug #60749 (SNMP module should not strip non-standard SNMP port
from hostname). (Boris Lytochkin)

RC5からRC6の間でも、幾つかの重要な修正が加えられているようです。RC1やRC2のころと比べると修正項目は減ってきていますが、正式版のリリースまではまだ暫くかかりそうな印象があります。

PHP 5.4.0 RC4 released

1月 4th, 2012 by

PHP 5.4.0 RC4 released

2011年12月25日に、PHP5.4.0のRC4がリリースされています。14日以内に次のリリース(RC5もしくは正式版)が登場するとのことなので、1月8日(日)までに何らかのリリースがあると思われます。

PHP 5.4 RC2 released

12月 8th, 2011 by

PHP 5.4 RC2 released

2011年11月29日に、PHP5.4のRC2がリリースされたようだ。RC1からわずか12日でのリリースだ。10月26日にβ2がリリースされて以降、トントン拍子で、RC1、RC2とリリースされた。この調子でいくと、年内に正式版がリリースされる可能性もありそうだ。ただし、正式版になったとしても、最初の半年ぐらいは致命的な不具合が見つかる可能性は高いので、実運用環境にはあまり急いで適用しないほうが良いと思う。既存のアプリケーションが5.4で問題なく動作することを確認しつつ、幾つか後のバージョン(5.4.5などのような)まで待ったほうが安全だろう。

  • You are currently browsing the archives for the PHP5.4 category.