编译php-7.1.28步骤

检查环境

./configure \

--prefix=/u01/server/php-7.1.28 \

--enable-fpm \

--with-fpm-user=daemon \

--with-fpm-group=daemon \

--with-zlib-dir=/u01/server/common \

--enable-mbstring=all \

--enable-soap \

--enable-bcmath \

--enable-ftp \

--with-xmlrpc \

--enable-cgi \

--with-imap-ssl=/u01/server/common \

--with-png-dir=/u01/server/common \

--with-gd \

--with-zlib \

--with-curl=/u01/server/common \

--with-jpeg-dir=/u01/server/common \

--enable-exif \

--with-openssl=/u01/server/common \

--with-ldap=/u01/server/common \

--enable-calendar \

--enable-ctype \

--enable-pcntl \

--enable-session \

--with-bz2=/usr \

--enable-sockets \

--with-mcrypt=/u01/server/common \

--with-icu-dir=/u01/server/common \

--with-tidy=/u01/server/common \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-pdo_sqlite=/u01/server/sqlite \

--with-sqlite3=/u01/server/sqlite \

--with-iconv=/u01/server/common \

--with-libxml-dir=/u01/server/common \

--with-xsl=/u01/server/common \

--with-freetype-dir=/u01/server/common \

--with-gmp=/u01/server/common \

--with-gettext \

--enable-intl \

--with-readline=/u01/server/common \

--enable-zip \

--with-libzip=/u01/server/common \

--disable-huge-code-pages

编译

make

安装

make install

备注

bz2 == bzip2是同一个意思

libzip提示不可用,google了很久也没找到啥原因,后面实在没招了,硬着头皮仔细看了configure脚本里面怎么处理的,最终发现了一些蛛丝马迹

碰到的问题

问题1:gcc编译工具问题

configure: error: in `/root/php-7.1.28':

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

解决方法

yum install glibc-headers gcc-c++

问题2:提示libzip版本过低

解决方法

安装新版本的libzip yum自带的不行,编译安装libzip-1.3.0版本

yum install libzip-devel.x86_64

yum remove libzip -y

问题3:libzip检查失败

checking for zip_open in -lzip... no

configure: error: could not find usable libzip

问题定位

分析./configure脚本,发现最终会执行如下

$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5

cc -o conftest \

-I/u01/server/common/include -g -O2 -fvisibility=hidden \

-Wl,-rpath,/u01/server/common/lib -L/u01/server/common/lib -L/u01/server/common/lib -Wl,-rpath,/u01/server/common/lib -L/u01/server/common/lib -Wl,-rpath,/u01/server/sqlite/lib -L/u01/server/sqlite/lib -Wl,-rpath,/bitnami/ruby24stack-linux-x64/output/sqlite/lib -L/bitnami/ruby24stack-linux-x64/output/sqlite/lib -Wl,-rpath,/bitnami/ruby24stack-linux-x64/output/ImageMagick/lib -L/bitnami/ruby24stack-linux-x64/output/ImageMagick/lib \

conftest.c \

-lzip -lz -lexslt -ltidy -lresolv -lcrypt -lreadline -lrt -lsqlite3 -lmcrypt -lltdl -lldap -llber -lstdc++ -liconv -lgmp -lpng -lz -ljpeg -lcrypto -lssl -lcrypto -lcurl -lbz2 -lz -lsqlite3 -lcrypto -lssl -lcrypto -lrt -lm -ldl -lnsl -lxml2 -lz -liconv -lm -ldl -lcurl -lxml2 -lz -liconv -lm -ldl -lfreetype -lz -lbz2 -ldl -lm -licui18n -licuuc -licudata -ldl -lm -licuio -lxml2 -lz -liconv -lm -ldl -lxml2 -lz -liconv -lm -ldl -lcrypt -lxml2 -lz -liconv -lm -ldl -lxml2 -lz -liconv -lm -ldl -lxml2 -lz -liconv -lm -ldl -lxml2 -lz -liconv -lm -ldl -lxslt -lxml2 -lz -liconv -ldl -lm

执行这个提示tidy这个库不存在

源码编译tidy库后,这个问题解决

问题4:off_t类型未定义

configure: error: off_t undefined; check your library configuration

解决方法

# 添加搜索路径到配置文件

echo '/usr/local/lib64

/usr/local/lib

/usr/lib

/usr/lib64'>>/etc/ld.so.conf

# 更新配置

ldconfig -v

问题5:autoconf时提示一些宏不存在

[root@localhost libzip]# autoconf

configure.ac:6: error: possibly undefined macro: AM_INIT_AUTOMAKE

If this token and others are legitimate, please use m4_pattern_allow.

See the Autoconf documentation.

configure.ac:21: error: possibly undefined macro: AM_PROG_CC_C_O

configure.ac:109: error: possibly undefined macro: AM_CONDITIONAL

解决方法

[root@localhost libzip]# autoreconf --install

参考资料

php 编译记录文件,php-7.1编译记录相关推荐

  1. linux编译cs文件,Linux Wine下编译安装CS反恐精英

    CS反恐精英终于在我的Linux电脑上安装成功了, 为了一个游戏,怎么说呢,自己付出了不少,当然离不开网络,慢慢的自己喜欢上了Linux.不知道为什么,安全.简介.方便.我也说不清楚.我游戏玩的不多, ...

  2. linux编译cs文件,LinuxWine下如何编译安装CS反恐精英?

    CS反恐精英终于在我的Linux电脑上安装成功了,为了一个游戏,怎么说呢,自己付出了不少,当然离不开网络,慢慢的自己喜欢上了Linux.不知道为什么,安全.简介.方便.我也说不清楚.我游戏玩的不多,就 ...

  3. vs怎么编译php文件,vscode怎么初始编译

    vscode怎么初始编译? 1.vscode语言环境改为中文 [WHY]才发现我的环境一直都是英文,来改一下吧... a.按下快捷键: Windows.Linux 快捷键是:ctrl+shift+p ...

  4. python编译exe文件太大了_python编译windows下可执行的exe文件

    python编译windows下可执行的exe文件的操作流程: 1.在安装python环境的windows下,安装 pyinstaller,请在dos下执行如下命令: pip install pyin ...

  5. Android Studio 编译时报文件不能删除,编译失败

    在使用android studio 进行android 开发学习的时候,报android studio 无法删除app\build\outputs模块下部分文件,导致编译失败. 出现这种情况后,自己进 ...

  6. linux 编译c文件 arm,用arm-linux-gcc编译arm裸机程序(可调用库)

    CC=arm-linux-gcc      #换成arm-elf-gcc不行,可以生成flat格式的文件,但我不知道怎么转成binary LD=arm-linux-ld OBJCOPY=arm-lin ...

  7. babel编译html文件,babel 和 browserify 编译

    如何使用es6模块化? 使用起来其实非常简单 在 module1.js 中 var hello = 'hello world !'; function sayHello(){ console.log( ...

  8. 微信小程序反编译wxss文件缺失_反编译任何微信小程序和如何还原wxss

    首先需要了解一下微信小程序它执行是需要把源码下载到本地的,下载下来的是一个 .wxapk后缀的文件 ,那么问题来了.下载的源码在那? 这里我们以安卓为例(因为我没用过苹果手机,哈哈哈) 使用到的工具 ...

  9. java编译时文件是什么,JAVA编译出现 进行语法解释时已抵达文件结尾 是什么意思?...

    做了点小修改: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; ...

  10. linux 汇编 `.eabi_attribute',交叉编译arm-none-eabi-gcc编译汇编文件(startup_stm32f10x_hd.S)遇到的有关问题(2)...

    当前位置:我的异常网» Linux/Unix » 交叉编译arm-none-eabi-gcc编译汇编文件(startup_s 交叉编译arm-none-eabi-gcc编译汇编文件(startup_s ...

最新文章

  1. I2C从驱动到应用(中篇)
  2. 如何从社区的patchwork下载补丁并应用到当前内核源码?
  3. POJ - 1050 To the Max(最大连续子段和,线性dp)
  4. 如何启动mongoDB并用Robo 3T连接
  5. linux桌面变成黑白,用虚拟机装了linux后开启为什么界面是黑色的呢?
  6. 动态执行shell脚本
  7. Servlet之过滤器详解
  8. group by 按什么区别_失业补助金和失业保险金有什么区别,按什么标准领?不知道亏大了...
  9. malformed utf-8 characters, possibly incorrectly encoded
  10. 计算机统计硕士排名,卡内基梅隆大学硕士统计学专业排名务必稳重的去看
  11. JavaScript模式(1):字面量和构造函数
  12. 理解常用的无理数:自然常数(e)、圆周率(π)、黄金比例(φ)
  13. win7删除桌面计算机图标怎么删除,Win7桌面图标箭头怎么去掉?去掉桌面图标箭头的方法...
  14. 容器CICD实践:基于Helm实现应用交付自动回滚
  15. 梅捷计算机主板价格,梅捷H81亲民主板逆袭!新到货仅售499元
  16. 软件开发怎么对抗抄袭_对抗软件开发中的复杂性
  17. 三思近10000㎡天幕屏耀显上海“八万人”体育场
  18. C/C++ 病毒破坏手法总结
  19. 【STM32-扩展模块】继电器模块Relay
  20. 《跟着小吴哥学python》之 12 Python发送邮件

热门文章

  1. ShardingSphere UI 初步体验
  2. 四川大学计算机学院琚生根教授,基于卷积神经网络和自注意力机制的文本分类模型...
  3. php zitian虚拟主机配置_虚拟主机的发展
  4. python中英文切换_vue根据按钮进行中英文切换
  5. 怎么理解python循环_如何理解Python的循环设计
  6. mysql中dml语言_八、mysql DML语言
  7. CSDN使用富文本编辑器为所发布的文章生成右侧目录
  8. MySQL 优化策略
  9. mysql opendrowset,java,mysql、jdbc
  10. oracle控制文件还原,Oracle的控制文件的恢复与重建