在Centos系统中,从PHP 5.2升级到PHP 5.4的详细步骤和知识点可以分为以下几个部分:
一、准备升级工作
1. 首先需要确定当前的PHP版本,可以通过命令行执行`php -v`来检查。
2. 若原PHP版本为5.2.10,已运行多年,则考虑升级至PHP 5.4版本。虽PHP 5.5是当前最新版,但出于兼容性或其他考虑,升级至PHP 5.4更为合理。
3. 下载PHP 5.4版本源码包,可以通过wget命令获取指定镜像源的PHP 5.4.21 tar.gz包。
二、编译安装PHP 5.4
1. 解压下载的源码包:`tar -zxf php-5.4.21.tar.gz`。
2. 进入解压后的目录:`cd php-5.4.21`。
3. 修改PHP源码中htmlspecialchars函数默认编码问题。原PHP 5.2版本中htmlspecialchars默认编码为GBK,而PHP 5.4默认编码为UTF-8。这将导致程序中使用htmlspecialchars函数时输出为空。因此需要修改源码,将默认编码从UTF-8改为ISO-8859-1,即修改ext/standard/html.c文件中第372行代码。
4. 使用configure命令配置编译选项,并指定安装路径以及其他组件支持。例如:
```
./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
```
5. 编译并安装PHP,使用make命令以及调整ZEND_EXTRA_LIBS参数来确保国际化支持,之后运行make install完成安装。
三、配置PHP 5.4
1. 将默认配置文件拷贝到正确位置,并根据需要选择相应的php.ini文件,如php.ini-development或php.ini-production。
2. 修改php-fpm.conf配置文件,取消对***.*.*.*监听地址前的注释,并根据需求进行其他配置。
3. 修改php.ini配置文件,设置short_open_tag,date.timezone,以及error_reporting等参数以符合环境需求。
四、启动和管理PHP 5.4
1. 创建并设置开机启动服务脚本,以确保PHP-FPM服务在系统启动时自动运行。
2. 启动PHP-FPM服务:`service php-fpm start`。
3. 设置chkconfig命令添加服务到系统服务列表中,并调整开机启动选项,以确保服务在系统启动时自动启动。
五、升级后的验证和注意事项
1. 验证升级后PHP版本是否正确,使用`php -v`命令进行检查。
2. 确认PHP-FPM运行正常,并且配置文件路径正确无误。
3. 如存在程序编码问题,需要对程序源码进行相应的调整以适配PHP 5.4版本的默认UTF-8编码。
以上步骤展示了从PHP 5.2升级到PHP 5.4的全过程,涵盖了编译安装、源码修改、配置调整和启动服务等多个方面。对于在Centos环境下进行PHP升级和配置的用户来说,这些步骤和知识点具有很大的参考价值。需要注意的是,在操作过程中,应按照系统实际情况进行必要的调整,以确保升级过程顺利且不影响现有应用的运行。