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

发表评论

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