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.
解决方案如下:
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