您的位置:首页 > 编程语言 > PHP开发

编译安装PHP 时遇到问题解决方法.

2016-08-18 22:04 756 查看
环境:centos X64 最小化安装 php版本:php-5.4.3安装前.先安装些软件和库文件yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers领导要我们自己手动装 不允许我们直接用yum 所以上面的都没执行编译安装PHP进入php的解压目录./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt=/usr/local/libmcrypt --with-zlib --enable-mbstring --with-openssl --with-mysql --with-mysqli --with-mysql-sock --with-gd --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --enable-pdo --with-pdo-mysql --with-gettext --with-curl --with-pdo-mysql --enable-sockets --enable-bcmath --enable-xml --with-bz2 --enable-zip --enable-freetype运行之后遇到的问题:error 1checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.(看提示就明白 是一个lib库没装 先用 yum search 名字 看是否能搜到名字 ,找到名字后 把软件包 开发包装上)解决办法yum install libxml2-devel.x86_64error 2checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>
这是ssl没装解决办法 yum install openssl.x86_64 openssl-devel.x86_64 -yerror 3checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
这是bzip2软件包没有安装解决办法yum install bzip2-devel.x86_64 -yerror 4configure: error: Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
curl和curl库文件没有安装解决办法yum install libcurl.x86_64 libcurl-devel.x86_64 -yerror 5checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
configure: error: jpeglib.h not found
GD库没有安装解决办法yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -yerror 6checking for stdarg.h... (cached) yes
checking for mcrypt support... yes
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
libmcrypt库没有安装 ,要是不能用yun安装的话 就要去下载个gz包 自己编译安装在新手php编译安装时,时常会遇到这个问题,Please reinstall libmcrypt.

以为在yum源里乜有该安装包的信息,所以先需要安装扩展源来添加
下面是解决办法:
yum install epel-release 安装扩展源

yum install libmcrypt-devel 安装该插件

完成
下面这个方法不对报错内容:configure: error: mcrypt.h not found. Please reinstall libmcrypt网上搜索了很多,包括自带的 yum install libmcrypt libmcrypt-devel,这个是没有效果的。去SourceForget下载libmcrypt http://sourceforge.net/projects/mcrypt/files/Libmcrypt/ ,最新版是mcrypt 2.6.7.gz。下载下来安装仍旧报错libmcrypt没有找到!
继续测试,最后安装成功,感觉是版本太高。方法(关键点在用 2.5.7版本):
[html] view plain copy
#使用wget可以通过以下路径下载

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
#解压

tar -zxvf libmcrypt-2.5.7.tar.gz

#进入目录

cd libmcrypt-2.5.7

#编译(默认安装到/usr/local/lib/)

./configure --prefix=/usr/local/libmcrypt

#执行安装

make && make install

再回到PHP-5.5.13解压缩的ext目录的mcrypt里面

[html] view plain copy
phpize

./configure --with-php-config=/usr/local/php5/bin/php-config \

--with-libmcrypt=/usr/lib/libmcrypt

make

make test

make install

vim /etc/php.ini

#加入extension=mcrypt.so

(编译安装 ./configure --piefix=/usr/local/libmcrypt make && make install)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~要是错误里面含有mysql的 那是mysql-devel 没有安装~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~出现Generating files configure: creating ./config.status creating main/internal_functions.c creating main/internal_functions_cli.c+--------------------------------------------------------------------+| License: || This software is subject to the PHP License, available in this || distribution in the file LICENSE. By continuing this installation || process, you are bound by the terms of this license agreement. || If you do not agree with the terms of this license, you must abort || the installation process at this point. |+--------------------------------------------------------------------+Thank you for using PHP.config.status: creating php5.specconfig.status: creating main/build-defs.hconfig.status: creating scripts/phpizeconfig.status: creating scripts/man1/phpize.1config.status: creating scripts/php-configconfig.status: creating scripts/man1/php-config.1config.status: creating sapi/cli/php.1config.status: creating sapi/fpm/php-fpm.confconfig.status: creating sapi/fpm/init.d.php-fpmconfig.status: creating sapi/fpm/php-fpm.8config.status: creating sapi/fpm/status.htmlconfig.status: creating main/php_config.hconfig.status: executing default commands表示安装成功 make && make installmake完成之后 到php的解压目录 找出php.ini-production 复制到 /usr/local/php/lib/ 下 文件名改成php.inicp php.ini-production /usr/local/php/lib/php.ini 完成..PS:不知道美国那边的源是不是好一些 很多的包 在中国需要手动下载 在美国的服务器上 能直接用yum.......人生其实就这样,睁一只眼,闭一只眼,就这样过去了
转自:http://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息