Home >Backend Development >PHP Tutorial >Full record of upgrading php5.2 to php5.4 under Centos (compile and install), php5.2php5.4_PHP tutorial

Full record of upgrading php5.2 to php5.4 under Centos (compile and install), php5.2php5.4_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:58:001051browse

Full record of upgrading php5.2 to php5.4 under Centos (compile and install), php5.2php5.4

Upgrade

Although the latest version of php is currently php5.5, due to various considerations, it is more reliable to upgrade to php5.4 first.
The original PHP uses php5.2.10, which has been running for 4 to 5 years. It is time to upgrade.

The latest stable version of 5.4 is 5.4.21 (5.4.22 was released on 14 Nov 2013...)
Copy code The code is as follows:
wget http://cn2.php.net/get/php-5.4.21.tar.gz/from/this/mirror
tar zxf php-5.4.21.tar.gz
cd php-5.4.21

Modify the source code. If the program encoding is UTF-8, skip this step.

If your program defaults to GBK, and many of the programs use htmlspecialchars, it is recommended to modify the source code directly, because 5.4 defaults to utf-8. The output using htmlspecialchars will be empty.
Copy code The code is as follows:
ext/standard/html.c
line 372
/* Default is now UTF-8 */
if (charset_hint == NULL)
return cs_utf_8;
--->
/* Default is now UTF-8 */
if (charset_hint == NULL)
return cs_8859_1;

Solve the problem of htmlspecialchars defaulting to UTF-8.
Copy code The code is as follows:
./configure --prefix=/usr/local/php5.4 --with-zlib --enable-bcmath --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-mysql - -with-mysqli --with-pdo-mysql --enable-ftp --with-jpeg-dir --with-freetype-dir --with-png-dir --enable-fpm --with-fpm-user= www --with-fpm-group=www

Simpler installation parameters:
Copy code The code is as follows:
./configure --prefix=/usr/local/php5.4 --enable-fpm --with-mysql
make ZEND_EXTRA_LIBS='-liconv'
make install

-----------------------
Move the two default files to the correct location, php.ini-development or php.ini-production as appropriate.
Copy code The code is as follows:
cd /usr/local/php5.4/etc/
cp php-fpm.conf.default php-fpm.conf
cp /www/soft/php-5.4.21/php.ini-development /usr/local/php5.4/lib/php.ini

----------------------------------
php-fpm.conf
listen.allowed_clients = 127.0.0.1; remove
--------------------------

php.ini
Copy code The code is as follows:
short_open_tag = Off

Change to
Copy code The code is as follows:
short_open_tag = On

Copy code The code is as follows:
;date.timezone =

Change to
Copy code The code is as follows:
date.timezone = "Asia/Shanghai"

Copy code The code is as follows:
error_reporting = E_ALL

Change to
Copy code The code is as follows:
error_reporting = E_ALL & ~E_NOTICE

Add to boot service list
Copy code The code is as follows:
cp -f /www/soft/php-5.4.21/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

Start php-fpm:
Copy code The code is as follows:
service php-fpm start

PHP upgrade completed!
-------------------------------------------------- ----
Install ZendOpcache. According to maintainer Laruence, Zend Opcache, which is an Optmizer for PHP provided in an extended form, will also do a lot of compilation optimization and has no compatibility issues. Compared with APC, it is more than 7% faster. But it The apc_store user data cache is not provided. If you want to use apc's user cache, you can consider using APCU or Laruence's Yac together.
Copy code The code is as follows:
wget http://pecl.php.net/get/ZendOpcache
tar zxf ZendOpcache
cd zendopcache-7.0.2/
/usr/local/php5.4/bin/phpize
./configure --with-php-config=/usr/local/php5.4/bin/php-config
make
make install
Installing shared extensions: /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525/

Add it directly to the bottom of php.ini, official recommended parameters
Copy code The code is as follows:
zend_extension= /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments=0
opcache.enable_file_override=1
service php-fpm reload

There is with Zend OPcache v7.0.2 in phpinfo() here, as well as many related parameters.


In this way, php5.4 will be upgraded.
--------------------------------

Errors you may encounter:

Failed to start php-fpm
Copy code The code is as follows:
Starting php-fpm /etc/init.d/php-fpm: line 53: 12483 Segmentation fault $php_fpm_BIN --daemonize $php_opts
failed

Installing APC and Zend opcache at the same time will cause conflicts. With Zend opcache, there is no need to install APC.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/978730.htmlTechArticleFull record of upgrading php5.2 to php5.4 under Centos (compile and install), php5.2php5.4 is currently upgraded Although the latest version of php is php5.5, due to various considerations, it is more reliable to upgrade to php5.4 first. Original...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn