发现yum安装许多坑

于是只好编译安装

第一步得到镜像地址

在      https://www.php.net/downloads.php     有的地址比较慢,需要耐心等待

cd /usr/local/src

wget https://www.php.net/distributions/php-7.2.19.tar.gz

tar xzvf php-7.2.19.tar.gz

cd php-7.2.19

接下来是编译安装

配置命令
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl

拆开看更清晰:

./configure
--prefix=/usr/local/php
--with-config-file-path=/usr/local/php
--enable-mbstring
--enable-ftp --with-gd
--with-jpeg-dir=/usr
--with-png-dir=/usr
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-pear --enable-sockets
--with-freetype-dir=/usr
--with-zlib --with-libxml-dir=/usr
--with-xmlrpc
--enable-zip
--enable-fpm
--enable-xml
--enable-sockets
--with-gd
--with-zlib
--with-iconv
--enable-zip
--with-freetype-dir=/usr/lib/
--enable-soap
--enable-pcntl
--enable-cli
--with-curl

这个先不管了

解决方法:
yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y

若是64位系统
解决方法:
yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y

编译php后发生warning:configure:WARNING:unrecognizedoptions:--with-mysql 只是php7版本不支持mysql模块

./configure --help 查看configure的正确语法,重新编译php支持mysql,改用--with-pdo-mysql

php7版本编译语句是:

./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir\
--enable-xml \
--disable-rpath \
--enable-bcmath\
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl --enable-mbregex \
--enable-mbstring \
--enable-intl \
--with-mcrypt \
--with-libmbfl \
--enable-ftp \
--with-gd \
--enable-gd-jis-conv \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-pear \
--enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm

configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf

php7.2不支持 --with-mcrypt, --enable-gd-native-ttf,把这两个选项删除掉。

修改后./configure通过的语句

其他错误解决: PHP编译安装时常见错误解决办法,php编译常见错误

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
[root@test php-5.2.13]# vi Makefile

在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。

或者用另一种办法

make ZEND_EXTRA_LIBS='-liconv'

ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/

作者用的第一种办法解决的,编译好Makefile后,记得先make clean一下,再make,不然会报错

make && make install

 

See <http://bugzilla.redhat.com/bugzilla> for instructions.
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

查询得知是应为vps内存太小没到1G引起的,在./configure时加--disable-fileinfo也不能解决

内存不足,mysql 5.5以上版本编译需要1G以上内存,可以编译安装mysql5.5

最新文章

  1. KVC与KVO的实现原理
  2. Bash简介
  3. jquery.lazyload用法
  4. Entity Framework (二) 查询
  5. 12个很少被人知道的CSS事实
  6. 开源作业调度工具实现开源的Datax、Sqoop、Kettle等ETL工具的作业批量自动化调度
  7. 汇编指令-MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)
  8. 使用listview空控件展示数据
  9. Bootstrap3 代码-程序输出
  10. ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation
  11. Jedis自己整理比较全的API
  12. SpringBoot自动配置源码调试
  13. 用TSQL从sqlserve 发布订阅链中删除一张或几张表
  14. 【PAT】B1053 住房空置率(20 分)
  15. POJ 2395 Out of Hay (Kruskal)
  16. java基础知识-原码,反码,补码
  17. 链表的反转、合并(不借助额外list数组)
  18. python --help查询python相关命令
  19. 【Golang】Debug :decoding dwarf section info at offset 0x0: too short
  20. HTTP之get post

热门文章

  1. SpringMVC+Spring+Mybatis实现登录注册Demo
  2. JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】
  3. MySQL数据库安装Version5.7.25
  4. .NetCore基于Jenkins和Gogs的自动化部署方案
  5. 【Azure 应用服务】一个 App Service 同时部署运行两个及多个 Java 应用程序(Jar包)
  6. Webstorm安装与配置
  7. YBT 1633:【例 3】Sumdiv
  8. 手动安装selenium包
  9. MongoDB-基础知识学习(一)
  10. SpringBoot2.4.2下配置Lettuce使用Redis