В данной теме я расскажу с какими ошибками при компиляции PHP на CentOS x64 можно столкнуться. Так же приведу готовые решения как решить ту или иную проблему.
configure: error: xml2-config not found. Please check your libxml2 installation.
1
|
# yum install libxml2-devel.x86_64
|
configure: error: Cannot find OpenSSL’s
1
|
# yum install openssl-devel.x86_64
|
configure: error: Could not find pcre.h in /usr/local
1
|
# yum install pcre-devel.x86_64
|
configure: error: Could not find pcre.h in /usr/local
«—with-pcre-regex=/usr/include» \
configure: error: Could not find libpcre.(a|so) in /usr/include
«—with-pcre-regex=/usr» \
configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
1
|
# yum install libcurl-devel.x86_64
|
configure: error: libjpeg.(a|so) not found.
1
|
# yum install libjpeg-devel.x86_64
|
configure: error: libpng.(a|so) not found.
1
|
# yum install libpng-devel.x86_64
|
configure: error: freetype.h not found.
1
|
# yum install freetype-devel.x86_64
|
configure: error: Please reinstall the iconv library.
«—with-iconv» \
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
1
|
# yum install libmcrypt.x86_64 libmcrypt-devel.x86_64
|
configure: error: Please reinstall libmhash – I cannot find mhash.h
1
|
# yum install mhash.x86_64 mhash-devel.x86_64
|
Note that the MySQL client library is not bundled anymore!
1
|
# yum install php-mysql.x86_64 mysql-devel.x86_64
|
configure: error: Please reinstall the BZip2 distribution
1
|
# yum install bzip2-devel.x86_64
|
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
DISABLE IMAP
configure: error: Cannot find pspell
1
|
# yum install aspell-devel.x86_64
|
configure: error: Cannot find libtidy
1
|
# yum install libtidy.x86_64 libtidy-devel.x86_64
|
error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
1
|
# yum install libxslt.x86_64 libxslt-devel.x86_64
|
collect2: ld returned 1 exit status
1
|
# yum install glibc-utils.x86_64 libtool-ltdl-devel.x86_64
|
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
1
2
3
4
5
|
скачать libmcrypt-2.5.8.tar.gz
# cd /usr/local/src
# tar zxvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8
# ./configure && make && make install
# ln -s /usr/local/lib/libmcrypt.so.4 /lib64/libmcrypt.so.4
|
With these build options a libphp5.so is not created and so Apache cannot use PHP.
On my CentOS 5.8 build I had to add the following configuration line to get that file created.
./configure –with-apxs2=/usr/sbin/apxs
configure: error: snmp.h not found. Check your SNMP installation.
1
|
# yum install net-snmp-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:
1
|
# yum install db4-devel
|
Для тех кто хочет быстро исправить все проблемы, попробуйте запустить так:
1
|
# yum install glibc-utils.x86_64 libtool-ltdl-devel.x86_64 libxslt.x86_64 libxslt-devel.x86_64 libtidy.x86_64 libtidy-devel.x86_64 aspell-devel.x86_64 bzip2-devel.x86_64 php-mysql.x86_64 mysql-devel.x86_64 mhash.x86_64 mhash-devel.x86_64 libmcrypt.x86_64 libmcrypt-devel.x86_64 freetype-devel.x86_64 libpng-devel.x86_64 libjpeg-devel.x86_64 curl-devel.x86_64 openssl-devel.x86_64 libxml2-devel.x86_64 net-snmp-devel libcurl-devel.x86_64
|
Обновление и установка средств разработки и библиотек
1
2
3
|
# yum update
# yum group install "Development Tools"
# yum group install "Development Libraries"
|
После чего запустите bash скрипт:
[spoiler]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#!/bin/sh "./configure" \ "--prefix=/usr/local/php5" \ "--enable-force-cgi-redirect" \ "--enable-fastcgi" \ "--with-bz2" \ "--with-config-file-path=/usr/local/etc" \ "--with-config-file-scan-dir=/usr/local/etc/php.d" \ "--with-curl=/usr/local/lib" \ "--with-gd" \ "--with-gettext" \ "--with-jpeg-dir=/usr/local/lib" \ "--with-freetype-dir=/usr/local/lib" \ "--with-kerberos" \ "--with-mcrypt" \ "--with-mhash" \ "--with-mime-magic" \ "--with-mysql" \ "--with-mysqli" \ "--with-pcre-regex=/usr" \ "--with-pdo-mysql=shared" \ "--with-pdo-sqlite=shared" \ "--with-pear=/usr/local/lib/php" \ "--with-png-dir=/usr/local/lib" \ "--with-pspell" \ "--with-sqlite=shared" \ "--with-tidy" \ "--with-ttf" \ "--with-xmlrpc" \ "--with-xsl" \ "--with-zlib" \ "--with-zlib-dir=/usr/local/lib" \ "--with-openssl" \ "--with-iconv" \ "--with-libdir=lib64" \ "--enable-bcmath" \ "--enable-calendar" \ "--enable-exif" \ "--enable-ftp" \ "--enable-gd-native-ttf" \ "--enable-libxml" \ "--enable-magic-quotes" \ "--enable-soap" \ "--enable-sockets" \ "--enable-mbstring" \ "--enable-zip" \ "--enable-wddx" |
[/spoiler]