编译安装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

发表评论

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