They released PHP5.6.0 on Aug-27 21:52:22. Actually, it was about half a day earlier than the release on php.net, and time lag between the two I sometimes experience recently. So, this afternoon, I migrated from PHP 5.5.16 to PHP 5.6.0 on my Web server (Windows7 HP + SP1 (x86)). Here is its ChangeLog.
They say “Most improvements in PHP 5.6.x have no impact on existing code. There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.” and it is true. I didn’t need any changes on existing codes. However, migrating from PHP 5.5.16 to PHP 5.6.0 in my case. If migrating from more older version, you might need some changes.
I did not change my old php.ini except about mbstring. PHP 5.6.0 has UTF-8 as its default charset, so I thought I does not need the customization about mbstring anymore. If you run production sites, you should use a php.ini based on the php.ini-production INI file that the official package includes. The php.ini-development INI file is for development environments.
The following table shows my new configuration for the version 5.6.0. Drive_SV that is my server software partition.
|
Default |
Custom |
1 |
output_buffering = 4096 |
output_buffering = Off |
2 |
disable_functions = |
disable_functions =”shell_exec, suexec, passthru, phpinfo” |
3 |
expose_php = On |
expose_php = Off |
4 |
; extension_dir = “ext” |
extension_dir = “Drive_SV:PHPext” |
5 |
allow_url_fopen = On |
allow_url_fopen = Off |
6 |
;extension=php_curl.dll |
extension=php_curl.dll |
7 |
;extension=php_gd2.dll |
extension=php_gd2.dll |
8 |
;extension=php_mbstring.dll |
extension=php_mbstring.dll |
9 |
;extension=php_mysqli.dll |
extension=php_mysqli.dll |
10 |
;extension=php_openssl.dll |
extension=php_openssl.dll |
11 |
|
zend_extension= “Drive_SV:PHPextphp_opcache.dll” |
12 |
;date.timezone = |
date.timezone =”Asia/Tokyo” |
13 |
;sendmail_from = me@example.com |
sendmail_from = My email address |
14 |
mysql.allow_persistent = On |
mysql.allow_persistent = Off |
15 |
;opcache.enable=0 |
opcache.enable=1 |
16 |
;opcache.memory_consumption=64 |
opcache.memory_consumption=128 |
17 |
;opcache.interned_strings_buffer=4 |
opcache.interned_strings_buffer=8 |
18 |
;opcache.max_accelerated_files=2000 |
opcache.max_accelerated_files=4000 |
19 |
;opcache.revalidate_freq=2 |
opcache.revalidate_freq=60 |
20 |
;opcache.fast_shutdown=0 |
opcache.fast_shutdown=1 |
The 1 and 14 settings might give some troubles on your server. It depends on your server environment. The 11 and 15 – 20 are values for OPcache. So if you don’t use OPcache, leave the default for them.Now 1 day after the migration. After that, php_opcache.dll was giving a lot of errors. I have stopped using OPcache until I find the solution. To change mbstring settings might give some bad effects to server performances. I am having wait-and-see attitude.
As you see, I do not use MySQL Extension on my server anymore. I use MySQLi Extension only.
I’ll show you my server software versions.
I’ve almost forgot to write. This time I had a trouble which gave me an error ‘Bad Host request’. It was BulletProof Security’s fault. Ha-ha-ha. So I disabled the plugin before PHP version up. Then I enabled it again after the PHP migration. I gave it a bum-rap. It was php_opcache.dll’s fault. Hey BulletProof Security, sorry!