CentOS环境中编译升级PHP至5.4版本记录

先备份

mv /data/server/php /data/server/php.5.2
mv /etc/init.d/php-fpm /etc/init.d/php-fpm.5.2

编译源码

首先先执行./buildconf  --force,为了防止出现 cp:cannot stat ‘sapi/cli/php.1‘: No such file or directory

./buildconf --force
./configure --prefix=/data/server/php --with-config-file-path=/data/server/php/etc --with-mysql=/data/server/mysql --with-mysqli=/data/server/mysql/bin/mysql_config --with-gd --with-iconv  --with-zlib  --enable-xml  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex  --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl
make
make install

如果安装出现错误

make: *** [sapi/cli/php] Error 1
解决方法:

make ZEND_EXTRA_LIBS=‘-liconv‘
ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/

配置文件

cp  php.ini-production   /data/server/php/etc/php.ini
rm -rf /etc/php.ini
ln -s /data/server/php/etc/php.ini  /etc/php.ini
cp  /data/server/php/etc/php-fpm.conf.default   /data/server/php/etc/php-fpm.conf

vi  /data/server/php/etc/php-fpm.conf

user = www
group = www
pid = run/php-fpm.pid
listen = /tmp/php-cgi.sock
listen.owner = www
listen.group = www

设置 php-fpm开机启动

cp sapi/fpm/init.d.php-fpm   /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig php-fpm on

vi /etc/php.ini
找到:;date.timezone =
修改为:date.timezone = PRC   #设置时区
找到:expose_php = On
修改为:expose_php = OFF  #禁止显示php版本的信息
找到:short_open_tag = Off
修改为:short_open_tag = ON  #支持php短标签

找到:disable_functions =
修改为:

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshell,cmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

配置完成后重启PHP-FPM服务即可!

时间: 2024-10-10 05:57:04

CentOS环境中编译升级PHP至5.4版本记录的相关文章

在centos环境下编译安装myrocksdb

rocksdb(https://rocksdb.org.cn/)是脸书(facebook)公司开源的一个key-value存储引擎,基于leveldb开发.rocksdb使用的是LSM存储引擎,纯c++编写.rocksdb具有很好的读写性能.但是rocksdb的实际操作需要很好的阅读rocksdb api文档,很多实现要自己编写代码来执行,还要考虑诸如线程安全等问题.Myrocks是rocksdb和mysql结合的结果,它将mysql的innodb引擎替换为rocksdb引擎,剥离实际操作底层r

在阿里云的CentOS环境中安装django

购买了一台阿里云主机.操作系统为CentOS 6.5.准备在上面跑Django做Web开发.因为CentOS自带的python版本号较低,安装Django先要安装新版本号python.还是费了点周折. 1,升级Python 阿里云给配置好的centos 6.5下的默认Python版本号是2.6,跟Django的最新版本号须要的Python环境是不配套的.在django的安装文档里有: Being a Python Web framework, Django requires Python. It

centos 7中编译安装httpd-2.4.25.tar.gz

检查是否已经安装了下载工具wget和编译环境gcc.make: [[email protected] ~]# rpm -qa|grep -e wget -e ^gcc -e makegcc-4.8.3-9.el7.x86_64 make-3.82-21.el7.x86_64 wget-1.14-10.el7_0.1.x86_64 如果没有安装,则使用下面的命令安装: [[email protected] ~]# yum -y install wget gcc makeLoaded plugins

Windows环境中编译opencv3.0同时加入OPENCV_contrib库及解决遇到相关问题

因为opencv3.0默认安装中没有加入SIFT.SURF等点特征检测,一百度下一跳,原来这玩意还弄了个其他的库,还只能在GitHub上才能弄到,这两天弄opencv3的contrib库,遇到了一些问题,为了让大家更好.更快用上contrib库,根据谷歌百度的几个问题,现分享给大家完整流程,也欢迎大家与我讨论其他opencv方面的问题. 一.下载安装准备 github  desktop 下载      windows 7or Later : https://desktop.github.com

CentOS 6.5 编译升级内核

1.下载内核,官网:https://www.kernel.org/ 这里用了3.18.30的版本了,系统信息如下: 2.编译前准备 安装编译依赖 # yum grouplist  //查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: # yum groupinstall "DevelopmentTools"  //一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 # yum install ncurses-devel //你必须这样才能让 

在阿里云的CentOS环境中安装配置MySQL

Welcome to Alibaba Cloud Elastic Compute Service ! [[email protected] ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm Preparing... ###########

【Andrioid】在Gradle中编译一次生成不同的版本,动态设定应用标题,应用图标,替换常量

写项目的时候经常会遇到以下的情况: 1.需要生成测试版本和正式版本的apk 2.测试版本和正式版本的URL是不一样的 3.测试版本和正式版本的包名需要不一致,这样才能安装到同一部手机上面. 4.不同apk需要应用名不同,图标不同,某些常量不同.... 如果你有以上的需求,看这篇文章就对了 When developing an app, you usually have many slightly different versions of this app. The most common ex

CentOS 6.4系统中编译和升级内核

CentOS 6.4系统中编译和升级内核 [日期:2013-08-25] 来源:Linux社区  作者:vipshichg [字体:大 中 小] 可能因为以下几种原因,你可能需要对Linux kernel内核进行升级操作. 想要尝试一个新的内核模块 设备驱动需要新的内核功能模块支持 旧版本的内核有新的漏洞被发现 系统经常容易崩溃 不管因为什么原因,每一个Linux用户对Linux内核进行升级,是一个很重要的维系统护工作. 下面我们来学习在CentOS 6.4系统下,将Linux kernel 2

centos环境升级glibc到2.17及过程中遇到的问题

升级glibc到2.17及出现的问题 开发要求libc库最低是2.17,但是我这个是2.12的,当然不能用了,还好,gcc 4.8.5的,直接用来编译升级就好了. 开始前 执行程序的时候报了一个错: /lib64/libc.so.6 version GLIBC_2.14 not found 很明显链接的库不是2.14的.根据 tlpi上所说的,动态加载库有三个名字比较重要.文件名,库名,链接器名,而且用ldconfig 来进行管理与更新.如: realname : libmath.so.1.3