PHP的安装虽然有时候很简单,可是如果应用一多,我们安装起来就很头痛了!出错最多的就是安装PHP扩展的时候了。其实不管是你是Apache类的应用还是Nginx类的,PHP的安装都不是很简单,虽然网上有很多configure参数,但是那不一定是适合你的,因为很多都直接关系着你的系统版本和内核。因此要自己亲自不断的调试,才能完全安装成功。
本文总结了一些常见的configure错误信息和解决这些错误的经验。
checking for specified location of the MySQL UNIX socket...
/usr/local/mysql/data/mysql.sock
checking for MySQL UNIX socket location...
/usr/local/mysql/data/mysql.sock
configure: error: Cannot find libmysqlclient_r under
/usr/local/mysql.
Note that the MySQL client library is not bundled anymore!
[root@localhost php-5.2.17]#
解决方案:
ln
-s /usr/local/mysql/lib /usr/local/mysql/lib64
不然在编译PHP时报错【PHP使用mysqll连接数据库才有,如果使用myqslnd连接,就没有这个错误】
网上有的说法是:–with-named-curses-libs=/usr/lib/libncursesw.so.5
其实是不对的,虽然能解决configure的错误,但是make的时候会提示错误,正确的做法应该是
centos: yum -y install ncurses-devel
debian: apt-get install libncurses5-dev
2、configure: error: xml2-config not
found. Please check your libxml2 installation.
centos: yum -y install libxml2 libxml2-devel
debian: apt-get install libxml2-dev
3、configure: error: Cannot find OpenSSL’s
centos: yum -y install openssl-devel
4、configure: error: libjpeg.(a|so) not
found
centos: yum -y install gd
centos: yum -y install gd-devel
debian: apt-get install libjpeg-dev
5、configure: error: libpng.(a|so) not found.
apt-get install libpng12-dev
6、configure: error: cannot find output from lex; giving
up
yum -y install flex
7、configure: error: mod_deflate has been requested but can not be
built due to prerequisite failures
centos: yum -y install zlib-devel openssl-devel
debian: apt-get install zlib1g-dev
8、configure: error: libxpm.(a|so) not found.
centos: yum -y install libxpm-dev
debian: apt-get install libxpm-dev
9、configure: error: freetype.h not found.
centos: yum install freetype-devel
debian: apt-get install libfreetype6-dev
10、configure: error: …No recognized SSL/TLS toolkit
detected
centos: yum -y install libssl-dev
debian: apt-get install libssl-dev
11、Configure: error: Please reinstall the BZip2
distribution
centos: yum install bzip2 bzip2-devel
debian: apt-get install bzip2-devel
12、Configure: error: Please reinstall the libcurl distribution –
easy.h should be in /include/curl/
centos: yum install curl curl-devel (For Redhat &
Fedora)
# install libcurl4-gnutls-dev (For Ubuntu)
13、Configure: error: Unable to locate gmp.h
centos: yum install gmp-devel
14、Configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled
anymore!
yum install mysql-devel (For Redhat & Fedora)
# apt-get install libmysql++-dev (For Ubuntu)
15、Configure: error: Please reinstall the ncurses
distribution
Solutions :
centos: yum install ncurses ncurses-devel
16、Checking for unixODBC support… configure: error: ODBC header
file ‘/usr/include/sqlext.h’ not found!
Solutions :
centos: yum install unixODBC-devel
17、Configure: error: Cannot find pspell
Solutions :
centos: yum install pspell-devel
18、configure: error: mcrypt.h not found.
Please reinstall libmcrypt.
Solutions :
yum install libmcrypt libmcrypt-devel (For Redhat &
Fedora)
# apt-get install libmcrypt-dev
19、Configure: error: snmp.h not found. Check
your SNMP installation.
Solutions :
yum install net-snmp net-snmp-devel
20、开启LDAP服务还需要
yum -y install openldap-devel openldap-servers openldap-clients
21、configure: error: cannot find output from lex; giving
up
centos: yum -y install flex
22、configure: error: mod_deflate has been requested but can not be
built due to prerequisite failures
centos: yum -y install zlib-devel openssl-devel
debian: apt-get install zlib1g-dev
在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决。以下是具体的一些解决办法:
checking for BZip2 support… yes checking for BZip2 in default
path… not found configure: error: Please reinstall the BZip2
distribution
Fix: yum install bzip2-devel
checking for cURL support… yes checking if we should use cURL
for url streams… no checking for cURL in default path… not found
configure: error: Please reinstall the libcurl distribution –
easy.h should be in/include/curl/
Fix: yum install curl-devel
checking for curl_multi_strerror in -lcurl… yes checking for
QDBM support… no checking for GDBM support… no checking for NDBM
support… no configure: error: DBA: Could not find necessary header
file(s).
Fix: yum install db4-devel
checking for fabsf… yes checking for floorf… yes configure:
error: jpeglib.h not found.
Fix: yum install libjpeg-devel
checking for fabsf… yes checking for floorf… yes checking for
jpeg_read_header in -ljpeg… yes configure: error: png.h not
found.
Fix: yum install libpng-devel
checking for png_write_image in -lpng… yes If configure fails
try –with-xpm-dir=
configure: error: freetype.h not
found.
Fix: Reconfigure your PHP with the following
option. --with-xpm-dir=/usr
checking for png_write_image in -lpng… yes configure: error:
libXpm.(a|so) not found.
Fix: yum install libXpm-devel
checking for bind_textdomain_codeset in -lc… yes checking for
GNU MP support… yes configure: error: Unable to locate gmp.h
Fix: yum install gmp-devel
checking for utf8_mime2text signature… new checking for
U8T_DECOMPOSE… configure: error: utf8_mime2text() has new
signature, but U8T_CANONICAL is missing. This should not happen.
Check config.log for additional information.
Fix: yum install
libc-client-devel
checking for LDAP support… yes, shared checking for LDAP Cyrus
SASL support… yes configure: error: Cannot find ldap.h
Fix: yum install
openldap-devel
checking for mysql_set_character_set in -lmysqlclient… yes
checking for mysql_stmt_next_result in -lmysqlclient… no checking
for Oracle Database OCI8 support… no checking for unixODBC support…
configure: error: ODBC header file ‘/usr/include/sqlext.h’ not
found!
Fix:
yum install unixODBC-devel
checking for PostgreSQL support for PDO… yes, shared checking
for pg_config… not found configure: error: Cannot find libpq-fe.h.
Please specify correct PostgreSQL installation path
Fix: yum install
postgresql-devel
checking for sqlite 3 support for PDO… yes, shared checking for
PDO includes… (cached) /usr/local/src/php-5.3.7/ext checking for
sqlite3 files in default path… not found configure: error: Please
reinstall the sqlite3 distribution
Fix: yum install sqlite-devel
checking for utsname.domainname… yes checking for PSPELL
support… yes configure: error: Cannot find pspell
Fix: yum install aspell-devel
checking whether to enable UCD SNMP hack… yes checking for
default_store.h… no
checking for kstat_read in -lkstat… no checking for
snmp_parse_oid in -lsnmp… no checking for init_snmp in -lsnmp… no
configure: error: SNMP sanity check failed. Please check config.log
for more information.
Fix: yum install
net-snmp-devel
checking whether to enable XMLWriter support… yes, shared
checking for xml2-config path… (cached) /usr/bin/xml2-config
checking whether libxml build works… (cached) yes checking for XSL
support… yes, shared configure: error: xslt-config not found.
Please reinstall the libxslt >= 1.1.0 distribution
Fix: yum install libxslt-devel
configure: error: xml2-config not found. Please check your
libxml2 installation.
Fix: yum install libxml2-devel
checking for PCRE headers location… configure: error: Could not
find pcre.h in /usr
Fix: yum install pcre-devel
configure: error: Cannot find MySQL header files under yes. Note
that the MySQL client library is not bundled anymore!
Fix: yum install mysql-devel
checking for unixODBC support… configure: error: ODBC header
file ‘/usr/include/sqlext.h’ not found!
Fix: yum install
unixODBC-devel
checking for pg_config… not found configure: error: Cannot find
libpq-fe.h. Please specify correct PostgreSQL installation path
Fix:
yum install postgresql-devel
configure: error: Cannot find pspell
Fix: yum install pspell-devel
configure: error: Could not find net-snmp-config binary. Please
check your net-snmp installation.
Fix: yum install
net-snmp-devel
configure: error: xslt-config not found. Please reinstall the
libxslt >= 1.1.0 distribution
Fix: yum install libxslt-devel