php5編譯安裝常見錯誤和解決辦法集錦

最近在給開發同事折騰開發測試環境,其中就有 php 的編譯安裝。由於每個人的需求不一致,所以也接觸到了各種模塊編譯和集成,中間不乏各種編譯依賴報錯。

正好,搜了幾次都是下面 2 篇文章內容,乾脆就轉到自己博客,以備後用,後續有相關內容再繼續補充。php5編譯安裝常見錯誤和解決辦法集錦

 

checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution

解決辦法: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/

解決辦法: 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).

解決辦法: yum install db4-devel

checking for fabsf… yes checking for floorf… yes configure: error: jpeglib.h not found.

解決辦法: 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.

解決辦法: 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.

解決辦法: 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.

解決辦法: 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

解決辦法: 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.

解決辦法: yum install libc-client-devel

checking for LDAP support… yes, shared checking for LDAP Cyrus SASL support… yes configure: error: Cannot find ldap.h

解決辦法: 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!

解決辦法:  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

解決辦法:  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

解決辦法:  yum install sqlite-devel

checking for utsname.domainname… yes checking for PSPELL support… yes configure: error: Cannot find pspell

解決辦法: 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.

解決辦法: 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

解決辦法: yum install libxslt-devel

configure: error: xml2-config not found. Please check your libxml2 installation.

解決辦法: yum install libxml2-devel

checking for PCRE headers location… configure: error: Could not find pcre.h in /usr

解決辦法: yum install pcre-devel

configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore!

解決辦法: yum install mysql-devel

checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!

解決辦法: yum install unixODBC-devel

checking for pg_config… not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path

解決辦法: yum install postgresql-devel

configure: error: Cannot find pspell

解決辦法: yum install pspell-devel

configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.

解決辦法: yum install net-snmp-devel

configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

解決辦法: yum install libxslt-devel

以上摘自:php 源碼編譯常見錯誤解決方案|驢子博客

1、PHP 出現 segmentation fault 錯誤
現象:安裝完成後出現的這個問題讓我一頓網上狂搜,但都無濟於事。在運行任何有關 PHP 的命令時都會返回 segmentation fault 的錯誤,比如:php -v 或 php -m 等。經過不斷試錯和排查 php.ini,最終發現是在安裝完 Zend Guard Loader 之後出現的。
原因: Zend Guard Loader 的配置錯誤。
解決辦法:將 extension = ZendGuardLoader.so 改爲 zend_extension = ZendGuardLoader.so 即可。
最後,我將所有可選安裝的配置都單獨放到 /usr/local/php/php.d 下了,而不是一股腦放到 php.ini 中,這樣便於出問題時排查。

2、ICU 相關錯誤
現象:Unable to detect ICU prefix or /usr//bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works
解決辦法:yum install -y icu libicu libicu-devel
關於 ICU 的編譯參數:./configure –with-icu-dir=/usr

3、bzip2 相關錯誤
現象:checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution
解決辦法:yum install -y bzip2 bzip2-devel
關於 bzip2 的編譯參數:./configure –with-bz2

4、gmp 相關錯誤
現象:checking for bind_textdomain_codeset in -lc… yes checking for GNU MP support… yes configure: error: Unable to locate gmp.h
解決辦法:yum install -y gmp-devel
關於 gmp 的編譯參數:./configure –with-gmp

5、readline 相關錯誤
現象:configure: error: Please reinstall libedit – I cannot find readline.h
解決辦法:安裝 Editline Library (libedit),官網:http://thrysoee.dk/editline/
下載最新版 libedit 編譯安裝即可。
關於 readline 的編譯參數:./configure –with-readline

6、xsl 相關錯誤
現象:configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解決辦法:yum install -y libxslt libxslt-devel libxml2 libxml2-devel
關於 xsl 的編譯參數:./configure –with-xsl

7、pcre 相關錯誤
現象:checking for PCRE headers location… configure: error: Could not find pcre.h in /usr
解決辦法:yum install -y pcre-devel
關於 pcre 的編譯參數:./configure –with-pcre-dir
備註:在 CentOS 5.x 中,pcre 的最新版本爲 6.6,版本過低會導致在編譯 Apache 2.4.x 的時候出現錯誤。因此,建議編譯安裝 pcre 的最新版 8.35,替換低版本的 pcre。

以上摘自:PHP 編譯過程中常見錯誤信息的解決方法 | 林家鋪子

後續遇到 PHP 相關問題,也會繼續更新到此文當中,以備後用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章