编译安装PHP7.3.5

系统 centos7

1.官网下载最新文档版本
https://www.php.net/downloads.php#v7.3.5
锚点后的版本号可以不要,建议下载最新文档版

2.xshell使用rz命令 或者 xftp上传到/usr/local/src/ 并在该目录下解压

cd /usr/local/src
tar -vxf php-7.3.5.tar.gz
cd php-7.3.5

3.配置参数[这里坑比较多,网上的很多配置参数依然有问题,主要是配置参数中的扩展还会7以前的,有部分已经不支持了]
3.1) mysql扩展
php7里已经不支持mysql扩展,
所以如果你的老系统里,
使用的是mysql来操作数据库,
那么需要改为mysqli,PDO之类的操作。

3.2) memcache扩展
memcached是很多web服务器用到的一个缓存系统,
以前老版本的php的memcache扩展是无法安装到php7上的,
需要一个新的memcache扩展

3.3) 不支持ereg_replace()函数
很多人使用以前老版本的php开发时,
使用ereg_replace()函数,
php7后不支持,
解决的方法一般是把ereg_replace()使用preg_replace()函数替换

3.4) php7.1后不支持mcrypt系列函数
mcrypt其实也是一个php扩展,
主要用来加密和解密数据,
php7.1版本后,
就不支持mcrypt扩展的函数。

如果你的网站中,
有使用到mcrypt相关函数,
最多升级到php7.0.*的版本,

如果升级到php7.1以上版本时,
需要自己重新写相关的加密解密函数,
官方推荐使用openssl_*系列的函数替换mcrypt系列函数

这里也是网上的 去除了部分无法配置的参数 已经编译成功
如果缺少了依赖的扩展库,后续单独安装

3.5) configure: error: off_t undefined; check your library configuration
off_t 类型是在 头文件 unistd.h中定义的,在32位系统 编译成 long int ,64位系统则编译成 long long int ,这里题主的系统应该是 64位的吧,在进行编译的时候 是默认查找64位的动态链接库,但是默认情况下 centos 的动态链接库配置文件/etc/ld.so.conf里并没有加入搜索路径,这个时候需要将 /usr/local/lib64 /usr/lib64 这些针对64位的库文件路径加进去。


./configure --prefix=/usr/local/php7 --enable-fpm \
--with-zlib \
--enable-inline-optimization \
 --disable-debug \
--disable-rpath \
 --enable-shared \
--enable-opcache \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline

4.make [这里遇到内存不足,我是阿里云1g内存,网上都是用文件创建交换分区作为虚拟内存.猜测是,内存是高速交换信息的"硬盘", 普通的硬盘也可以当做"内存"使用来临时解决内存不足的情况]

sudo -s     #进入root用户模式
dd if=/dev/zero of=/swap bs=1024 count=1M #创建一个大小为1G的文件/swap
ll -h /swap    #可以看到已为/swap分配了1G

使用mkswap将/tmp/swap文件格式化为swap的文件格式

mkswap /swap

使用swapon将/tmp/swap启动

free          #查看
swapon /swap    #启动/swap
free          #查看
swapon -s          #查看
echo "/swap/swap    swap    swap  defaults    0 0"  >> /etc/fstab    #设置成永久生效,开机自启.也可以手动启用
# swapon /swap 开     ||  swapoff /swap  关

有的教程里会在make后加上参数 -j4
这个跟cpu的核心数有关,通常几核心cpu 数字就填几,说是可以让编译更快[实际上并不清楚是利用核心数编译更快,还是编译后的软件可以根据核心数调节性能,后面再研究]
但是通常不能大过核心数 默认不填 相当于 -j1
我的是单核CPU 所以默认直接make

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354