php安装报错处理

php安装

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql --with-mysqli --with-pdo-mysql --with-apxs2=/usr/sbin/apxs --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --enable-xml --with-xpm-dir=/usr --enable-fpm --with-freetype-dir --with-mcrypt --with-mhash  --with-gettext --enable-pdo --with-libxml-dir --with-zlib-dir

make

make install

报错1:

configure: error: jpeglib.h not found.

解决方案如下:

[root@cac3 php-5.6.40]# rpm -qa | grep libjpeg-turbo
libjpeg-turbo-1.2.1-1.el6.x86_64
[root@cac3 php-5.6.22]# rpm -ivh libjpeg-turbo-devel

报错2:

configure: error: png.h not found.
解决方案如下:

[root@localhost php-5.6.40]# rpm -qa | grep libpng
libpng-1.2.49-1.el6_2.x86_64

[root@localhost php-5.6.40]# rpm -ivh ../libpng-devel-1.2.49-1.el6_2.x86_64.rpm

报错3:

configure: error: xpm.h not found.

解决方案如下:

[root@localhost ch]# rpm -qa libXpm
libXpm-3.5.10-2.el6.x86_64

[root@localhost php-5.6.40]# rpm -ivh libXpm-devel-3.5.10-2.el6.x86_64.rpm 

如果出现下面形式的报错。  请安装lib**对应的包(例如pkgconfig(x11) 安装libX11-devel)

pkgconfig(x11) is needed by libXpm-devel-3.5.10-2.el6.x86_64
    pkgconfig(kbproto) is needed by libX11-devel-1.5.0-4.el6.x86_64
    pkgconfig(xcb) is needed by libX11-devel-1.5.0-4.el6.x86_64
    pkgconfig(xcb) >= 1.1.92 is needed by libX11-devel-1.5.0-4.el6.x86_64
    pkgconfig(xproto) is needed by libX11-devel-1.5.0-4.el6.x86_64

报错4:

configure: error: freetype-config not found.

解决方案如下:

[root@localhost ch]# rpm -qa freetype

freetype-2.3.11-14.el6_3.1.x86_64

[root@localhost php-5.6.40]# rpm -ivh ../freetype-devel

报错5:

configure: error: mcrypt.h not found. Please reinstall libmcrypt. 

解决方案如下:

下载libmcrypt-2.5.7.tar.gz

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 
 mkdir -p /usr/local/libmcrytp 
 ./configure --prefix=/usr/local/libmcrytp/ 
 make
 make install

然后将--with-mcrypt=/usr/local/libmcrypt后在编译安装php,

报错6:

在make的时候报错

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
[root@test php-5.2.13]# vi Makefile

在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。

或者用另一种办法

make ZEND_EXTRA_LIBS='-liconv'

ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/

解决方案2:

安装libiconv 到/usr/local/libiconv

编译中增加 --with-iconv=/usr/local/libiconv

报错7:

configure: error: Unable to find your mysql installation

因为我写的mysql位置的路径发生错误,和实际工作路径不符. 

# which mysql
/usr/bin/mysql

mysql的路径与实际工作路径替换/usr/bin/mysql.

报错8:

configure: error: Please reinstall the iconv library.
解决方案如下:

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar xvzf libiconv-1.14.tar.gz

./configure

make && make install

报错9

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

 解决方法一:

最后查看php官方文档解决. 在configure 里面加上   --with-libdir=lib64

解决方法二:

   编辑/etc/ld.so.conf

  根据系统,加入include /etc/ld.so.conf,

  然后执行ldconfig,使其重新加载一次;(如果出错改为vi /etc/ld.so.conf  >> include /usr/local/libmcrytp/lib/)
 

报错10

configure: error: Cannot find OpenSSL's libraries

解决方案如下:

[root@localhost php-5.6.40]# locate libssl.so
/usr/local/ssl/lib/libssl.so

ln -s /usr/local/ssl/lib/libssl.so  /usr/lib64

报错11

configure: error: libcrypto not found!

解决方案如下:

crypto是是OpenSSL 加密库[lib], 需要openssl-devel包。

rpm -ivh openssl-devel.****.rpm

或者--with-openssl=/usr/local/opt/openssl

报错12

configure: error: Cannot find OpenSSL's <evp.h>

解决方案如下:

开始以为是没有安装openssl, openssl-devel,安装后发现还是提示这个错误,搜索了一下evp.h,这个文件也存在。GOOGLE 了一下,在stackoverflow,找到了答案,原来是 phpize 生成的configure脚本有问题。

修改configure 文件加入

这个是安装mysqlnd扩展报错的

export PHP_OPENSSL_DIR=yes


 

猜你喜欢

转载自blog.csdn.net/shardy0/article/details/87615080