Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 552|回复: 0

编译安装php 5.5 缺少依赖包 及解决方案

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-5-4 19:01:06 | 显示全部楼层 |阅读模式

    必要时可以用 YUM 选择安装以下相关软件包:

    #yum install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss-ldap openldap-clients openldap-servers bison bison-devel readline readline-devel libmcrypt libmcrypt-devel net-snmp-devel libXpm* libxml2 libxml2-devel patch

    一、安装相关依赖包(即支持库)

    1、libiconv (对文本进行编码间的转换,用它来处理中文各种编码之间的转换)

    [root@test lnmp]# tar -xzf libiconv-1.14.tar.gz

    [root@test lnmp]# cd libiconv-1.14

    [root@test libiconv-1.14]# ./configure

    [root@test libiconv-1.14]# make && make install

    2、libmcrypt (实现加密功能的库)

    [root@test lnmp]# tar -xzf libmcrypt-2.5.8.tar.gz

    [root@test lnmp]# cd libmcrypt-2.5.8

    [root@test libmcrypt-2.5.8]# ./configure

    [root@test libmcrypt-2.5.8]# make && make install

    [root@test libmcrypt-2.5.8]# cd libltdl/

    [root@test libltdl]# ./configure --enable-ltdl-install

    [root@test libltdl]# make && make install

    3、mhash (哈稀函数库)

    [root@test lnmp]# tar xjf mhash-0.9.9.9.tar.bz2

    [root@test lnmp]# cd mhash-0.9.9.9

    [root@test mhash-0.9.9.9]# ./configure

    [root@test mhash-0.9.9.9]# make && make install

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/libmcrypt.so.4.4.8

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

    [root@test mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

    [root@test mhash-0.9.9.9]# ldconfig  #不重新加模块,下面编译 mcrypt 时,检查编译环境会出错。

    -----------------------------------------------------------------------------------------------------------------------------------------

    在#./configure 检查 php 编译环境时可能会出现以下错误。

    checking whether mhash >= 0.8.15... no

    configure: error: "You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/"

    原因:

    mhash编译默认安装路径是 /usr/local/,相关库在 /usr/local/lib 下。而 php 只搜索 /usr/lib/ 这个位置。所以会出现找不到 mhash 相关库的情况。

    解决方法:

    通过软链接的方法把 /usr/local/lib 目录下的 mhash 相关的库文件链接到 /usr/lib/ 目录下。

    -----------------------------------------------------------------------------------------------------------------------------------------

    4、mcrypt

    [root@test lnmp]# tar -xzf mcrypt-2.6.8.tar.gz

    [root@test lnmp]# cd mcrypt-2.6.8

    [root@test mcrypt-2.6.8]# ./configure

    [root@test mcrypt-2.6.8]# make && make install

    二、源码安装 php(FastCGI 模式)

    PHP-FPM 是 一个 PHP FastCGI 进程管理器,即 PHP FastCGI Progress Manager。

    FastCGI 是一个可伸缩的,高速地在 web server 和脚本语言间交互的接口。FastCGI 的主要优点是把动态语言和 web server 分离开来。这种技术允许把 web server 和动态语言运行在不同的主机上,以大规模扩展和改进安全性而不损失生产效率。

    php-fpm 可以和任何支持远端 FastCGI 的 web server 工作。

    在 php-5.3.3 版本之后,php-fpm 已经被包含在 core 里边了,不再是第三方的包了。不需要再打补丁了。

    PHP-FPM 提供了更好的 PHP 进程管理方式,可以有效控制内存和进程、可以平滑重载 PHP 配置,比 spawn-fcgi 具有更多有点,所以被 PHP 官方收录了。在 ./configure 的时候带 -–enable-fpm 参数即可开启 PHP-FPM。

    1、安装 php

    [root@test lnmp]# mkdir /usr/local/php

    [root@test lnmp]# tar -xzf php-5.4.4.tar.gz

    [root@test lnmp]# cd php-5.4.4

    [root@test php-5.4.4]# ./configure --prefix=/usr/local/php \

    --with-config-file-path=/usr/local/php/etc \

    --with-mysql=/usr/local/mysql/ \

    --with-mysqli=/usr/local/mysql/bin/mysql_config \

    --with-iconv-dir=/usr/local \

    --with-freetype-dir \

    --with-jpeg-dir \

    --with-png-dir \

    --with-zlib \

    --with-gd \

    --with-libxml-dir=/usr \

    --enable-xml \

    --disable-rpath \

    --enable-bcmath \

    --enable-shmop \

    --enable-sysvsem \

    --enable-inline-optimization \

    --with-curl \

    --with-curlwrappers \

    --enable-mbregex \

    --enable-fpm \

    --with-pdo-mysql=/usr/local/mysql \ #可选参数,如果这里指定了,在安装pdo_mysql时就不用指定了。

    --enable-mbstring \

    --with-mcrypt \

    --enable-gd-native-ttf \

    --with-openssl \

    --with-mhash \

    --enable-pcntl \

    --enable-sockets \

    --with-xmlrpc \

    --enable-zip \

    --enable-soap \

    --without-pear

    [root@test php-5.4.4]# make ZEND_EXTRA_LIBS='-liconv'

    [root@test php-5.4.4]# make install

    configure 代码如下:

    -----------------------------------------------------------------------------------------------------------------------------------------

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --with-pdo-mysql=/usr/local/mysql --enable-mbstring --with-mcrypt --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear

    -----------------------------------------------------------------------------------------------------------------------------------------

    可能出现的错误:

    1、configure: error: xml2-config not found. Please check your libxml2 installation.

    解决方法:

    http://www.xmlsoft.org/

    源码安装 libxml2 或通过 yum 安装 libxml2-devel。

    (1)[root@test lnmp]# tar -xzf libxml2-tests-2.8.0.tar.gz

    (2)[root@test lnmp]#yum install  libxml2-devel

    2、 configure: error: Please reinstall the libcurl distribution -

        easy.h should be in <curl-dir>/include/curl/

    解决方法:

    http://curl.haxx.se/

    源码安装 curl 或通过 yum 安装 libcurl-devel。

    (1)[root@test lnmp]# tar -xzf curl-7.26.0.tar.gz

    (2)[root@test lnmp]#yum install libcurl-devel

    3、configure: error: jpeglib.h not found.

    解决方法:

    http://www.ijg.org/

    源码安装 jpegsrc 或通过 yum 安装 libjpeg-devel。

    (1)[root@test lnmp]# tar -xzf jpegsrc.v8d.tar.gz

    (2)[root@test lnmp]#yum install libjpeg-devel

    4、configure: error: png.h not found.

    解决方法:

    http://www.libpng.org/pub/png/libpng.html

    源码安装 libpng 或通过 yum 安装 libpng-devel。

    (1)[root@test lnmp]# tar -xzf libpng-1.5.12.tar.gz

    (2)[root@test lnmp]#yum install libpng-devel

    4、configure: error: freetype.h not found.

    解决方法:

    http://www.freetype.org/

    源码安装 freetype 或通过 yum 安装 libfreetype-devel。

    (1)[root@test lnmp]# tar -xzf freetype-2.4.10.tar.gz

    (2)[root@test lnmp]#yum install libfreetype-devel

    编译的时候可能出现的错误:

    5、Generating phar.php

    /data1/lnmp/php-5.4.4/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

    make: *** [ext/phar/phar.php] Error 127

    解决方法:

    #echo "/usr/local/mysql/lib/" &gt;&gt; /etc/ld.so.conf.d/mysql-x86_64.conf

    6、PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.

    两种解决方法:

    (1)#./configure --without-pear

    (2)#wget http://pear.php.net/go-pear.phar

        #php go-pear.phar

    7、configure: WARNING: unrecognized options: --enable-discard-path, --enable-safe-mode

    警告原因:

    之前 php-5.3.x 编译时加了 --enable-safe-mode --enable-discard-path --enable-fastcgi --enable-force-cgi-redirect选项,但是这个选项没必要,且会带来许多的麻烦,详解可以 google 一下,php-5.4.x 已经去掉了该选项,编译时可以 #./configure --help | grep “safe-mode” 查看一下,没有信息输出,表示已经不支持!

    -----------------------------------------------------------------------------------------------------------------------------------------

    2、建立相关配置文件

    [root@test php-5.4.4]# cp php.ini-production /usr/local/php/etc/php.ini

    [root@test php-5.4.4]# vim /etc/profile

    找到 export PATH=$PATH:/usr/local/mysql/bin 这一行,

    修改为:export PATH=$PATH:/usr/local/mysql/bin:/usr/local/php/bin:/usr/local/php/sbin:

    [root@test php-5.4.4]# source /etc/profile

     

     

     

    最终 能实现的 参数,  比如msyql-config  ,还有 加密 encpty 等  不是很好找, 先减少这两个参数  安装完毕后,用到时再想办法!

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl  --enable-mbregex  --enable-fpm  --enable-mbstring  --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear --with-zlib --enable-pdo --with-pdo-mysql --with-mysql --with-apxs2=/usr/local/apache/bin/apxs

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-15 08:56 , Processed in 0.065892 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表