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

发表评论

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