编译安装php 5.5 缺少依赖包 及解决方案 – 日记本的回忆

命令时可运用 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 (信号经过的信号替换发短信,用它来处置国文各式各样的编码经过的替换)

[根@测得结果 LNMP公司] tar -xzf libiconv-1.14.tar.gz

[根@测得结果 LNMP公司] cd libiconv-1.14

[根@测得结果 libiconv-1.14]# ./configure

[根@测得结果 libiconv-1.14]# make && make install

2、libmcrypt (用于编密码的库)

[根@测得结果 LNMP公司] tar -xzf libmcrypt-2.5.8.tar.gz

[根@测得结果 LNMP公司] cd libmcrypt-2.5.8

[根@测得结果 libmcrypt-2.5.8]# ./configure

[根@测得结果 libmcrypt-2.5.8]# make && make install

[根@测得结果 libmcrypt-2.5.8]# cd libltdl/

[根@测得结果 libltdl]# ./configure –enable-ltdl-install

[根@测得结果 libltdl]# make && make install

3、mhash (僵直函数库)

[根@测得结果 LNMP公司] tar xjf mhash-0.9.9.9.tar.bz2

[根@测得结果 LNMP公司] cd mhash-0.9.9.9

[根@测得结果 mhash-0.9.9.9]# ./configure

[根@测得结果 mhash-0.9.9.9]# make && make install

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/libmcrypt.so.4.4.8

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

[根@测得结果 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

[根@测得结果 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 顺序。

事业:

mhash波湾阴谋i的默许建造成一部分手段和财力 /usr/local/,互插书斋在 /usr/local/lib 下。而 php 仅搜索 /usr/lib/ 这状态。因而你未检出的。 mhash 互插书斋状态。

溶剂:

经过软节办法 /usr/local/lib 目次下的 mhash 互插库开价免费入场券已节 /usr/lib/ 目次下。

—————————————————————————————————————————————–

4、mcrypt

[根@测得结果 LNMP公司] tar -xzf mcrypt-2.6.8.tar.gz

[根@测得结果 LNMP公司] cd mcrypt-2.6.8

[根@测得结果 mcrypt-2.6.8]# ./configure

[根@测得结果 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-fpm 曾经包罗在内 core 内幕。,不再是第三方包了。不再必要修补顺序。。

PHP-FPM 开价好转的的 PHP 加工设法对付办法,能无效把持存储器和处置、畜舍包袱 PHP 排列,比 spawn-fcgi 静止的很多。,因而 PHP 正式入学。在 ./configure 的时辰带 -–enable-fpm 参量可以翻开 PHP-FPM。

1、建造成一部分 php

[根@测得结果 LNMP公司] mkdir /usr/local/php

[根@测得结果 LNMP公司] tar -xzf php-5.4.4.tar.gz

[根@测得结果 LNMP公司] cd php-5.4.4

[根@测得结果 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_mysq时摒弃详述。

–enable-mbstring \

–with-mcrypt \

–enable-gd-native-ttf \

–with-openssl \

–with-mhash \

–enable-pcntl \

–enable-sockets \

–with-xmlrpc \

–enable-zip \

–enable-soap \

–without-pear

[根@测得结果 php-5.4.4]# make ZEND_EXTRA_LIBS=”-liconv”

[根@测得结果 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 找到了。 Please check your libxml2 建造成一部分。

溶剂:

源建造成一部分 libxml2 或经过 yum 建造成一部分 libxml2-devel。

(1)[根@测得结果 LNMP公司] tar -xzf libxml2-tests-2.8.0.tar.gz

(2)[根@测得结果 LNMP公司]yum install  libxml2-devel

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

    easy.h should be in /include/curl/

溶剂:

源建造成一部分 curl 或经过 yum 建造成一部分 libcurl-devel。

(1)[根@测得结果 LNMP公司] tar -xzf curl-7.26.0.tar.gz

(2)[根@测得结果 LNMP公司]yum install libcurl-devel

3、configure: error: jpeglib.h not 找到了。

溶剂:

源建造成一部分 jpegsrc 或经过 yum 建造成一部分 libjpeg-devel。

(1)[根@测得结果 LNMP公司] tar -xzf jpegsrc.v8d.tar.gz

(2)[根@测得结果 LNMP公司]yum install libjpeg-devel

4、configure: error: png.h not 找到了。

溶剂:

源建造成一部分 libpng 或经过 yum 建造成一部分 libpng-devel。

(1)[根@测得结果 LNMP公司] tar -xzf libpng-1.5.12.tar.gz

(2)[根@测得结果 LNMP公司]yum install libpng-devel

4、configure: error: freetype.h not 找到了。

溶剂:

源建造成一部分 freetype 或经过 yum 建造成一部分 libfreetype-devel。

(1)[根@测得结果 LNMP公司] tar -xzf freetype-2.4.10.tar.gz

(2)[根@测得结果 LNMP公司]yum install libfreetype-devel

波湾阴谋加工中能够涌现的认不出:

5、Generating

/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/] Error 127

溶剂:

#echo “/usr/local/mysql/lib/” << /etc/ld.so.conf.d/mysql-x86_64.conf

6、PEAR package PHP_Archive not installed: generated phar will require php的 phar extension be 启用。

两种溶剂:

(1)排列 –without-pear

(2)#wget 

    #php go-pear.phar

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

正告事业:

优于 波湾阴谋时加了 –enable-safe-mode –enable-discard-path –enable-fastcgi –enable-force-cgi-redirect得到或获准进行选择,但这选择是不命令的,同时会卖得很多令人烦恼的,分解说可以接球 google 一下, 此得到或获准进行选择已被取代,波湾阴谋时,您可以 #./configure –help | grep “safe-mode” 检查一下,无传达出口,表现不再倒退!

—————————————————————————————————————————————–

2、构造互插排列开价免费入场券

[根@测得结果 php-5.4.4]# cp php.ini-production /usr/local/php/etc/php.ini

[根@测得结果 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:

[根@测得结果 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

发表评论

电子邮件地址不会被公开。 必填项已用*标注