2012-11-18 3 views
23

Heute versuche ich PHP auf MacOS Mountain Lion zu aktualisieren. Ich folgte MacTuts+ Tutorial und auf dem Schritt, in dem ich ausführen, dass die langen Befehl:configure: error: utf8_mime2text() hat neue Signatur, aber U8T_CANONICAL fehlt

./configure \ 
--prefix=/usr \ 
--mandir=/usr/share/man \ 
--infodir=/usr/share/info \ 
--sysconfdir=/private/etc \ 
--with-apxs2=/usr/sbin/apxs \ 
--enable-cli \ 
--with-config-file-path=/etc \ 
--with-libxml-dir=/usr \ 
--with-openssl=/usr \ 
--with-kerberos=/usr \ 
--with-zlib=/usr \ 
--enable-bcmath \ 
--with-bz2=/usr \ 
--enable-calendar \ 
--with-curl=/usr \ 
--enable-dba \ 
--enable-exif \ 
--enable-ftp \ 
--with-gd \ 
--enable-gd-native-ttf \ 
--with-icu-dir=/usr \ 
--with-iodbc=/usr \ 
--with-ldap=/usr \ 
--with-ldap-sasl=/usr \ 
--with-libedit=/usr \ 
--enable-mbstring \ 
--enable-mbregex \ 
--with-mysql=mysqlnd \ 
--with-mysqli=mysqlnd \ 
--without-pear \ 
--with-pdo-mysql=mysqlnd \ 
--with-mysql-sock=/var/mysql/mysql.sock \ 
--with-readline=/usr \ 
--enable-shmop \ 
--with-snmp=/usr \ 
--enable-soap \ 
--enable-sockets \ 
--enable-sysvmsg \ 
--enable-sysvsem \ 
--enable-sysvshm \ 
--with-tidy \ 
--enable-wddx \ 
--with-xmlrpc \ 
--with-iconv-dir=/usr \ 
--with-xsl=/usr \ 
--enable-zip \ 
--with-imap=/usr/local/imap-2007 \ 
--with-kerberos \ 
--with-imap-ssl \ 
--enable-intl \ 
--with-pcre-regex \ 
--with-pgsql=/usr \ 
--with-pdo-pgsql=/usr \ 
--with-freetype-dir=/usr/X11 \ 
--with-jpeg-dir=/usr \ 
--with-png-dir=/usr/X11 

ich den Fehler am Ende des Prozesses erhalten.

configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

Irgendeine Lösung? Danke im Voraus.

Antwort

-1

Ich weiß nicht, was ist die Antwort auf meine Frage, aber ich habe einen anderen Ansatz/Lösung gefunden.

http://php-osx.liip.ch/

So Problem gelöst.

12

Wenn Sie das 'libc-client-devel' RPM oder ein anderes Paket in Ihrem Betriebssystem-Repository haben, dann installieren Sie es.

Dies wird die C-Client Bibliothek und Header-Dateien zur Verfügung stellen, die PHP für IMAP-Unterstützung benötigt.

+0

Das OP war auf einem Mac, also funktioniert das nicht für ihn/sie - aber es funktionierte für mich auf einem Redhat-like (Sci. Linux) System. – sonofagun

+13

Im Falle von Debian wäre es "apt-get install libc-client2007e-dev" –

+0

danke dies auf Ubuntu gearbeitet: apt-get install libc-client2007e-dev – waza123

3

Dieses genau gleiche Problem kam für mich auf Fedora beim Versuch, PHP 5.5.0 zu kompilieren.

Das Problem hängt mit dem Konfigurationsparameter '--with-imap' zusammen.

Um dieses Problem zu lösen, kompilierte ich meine eigene Version von imap aus der neuesten Quelle (derzeit imap-2007f) und dazu musste ich einige Voraussetzungen installieren. Auf Filzhut tat ich dies ...

yum install openssl openssl-devel pam-devel 
wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz 
tar zxvf imap-2007f.tar.gz 

Dann musste ich einen Softlink machen so dass der Compiler die Bibliotheken finden konnten. In meinem Fall habe ich folgende:

mkdir /usr/local/ssl 
ln -s /usr/include /usr/local/ssl/include 

und kompiliert:

cd imap-2007f 
make lnp SSLTYPE=unix EXTRACFLAGS=-fPIC 

Dann war ich in der Lage PHP zu kompilieren, indem Sie den imap Source-Pfad zu der Konfigurations param Hinzufügen wie so:

/path/to/php/src> ./configure ...other_params... '--with-imap=/path/to/imap-2007f' '--with-imap-ssl' 
make 
make install 
+0

Für Ubuntu habe ich imap-2007f mit "make ldb". –

8

der Fehler

--with-imap=/usr/local/imap-2007 
--with-imap-ssl 
diese Linien durch Entfernen der IMAP-Unterstützung, das Entfernen fixiert werden
+6

Wäre es nicht eine bessere Lösung, einfach benötigte Bibliotheken zu installieren, statt den Dienst zu entfernen, der das Problem verursacht? Laut dem Kommentar von _kervin_ auf RedHat installiere 'libc-client-devel' oder' libc-client2007e-dev' auf Ubuntu/Debian, und alles sollte in Ordnung sein. –

1

Installieren Sie imap vor der Installation von PHP.

brew install imap-uw

dann

brew install php55 --with-fpm --with-imap --without-apache --with-debug

Die --with-imap Option sollte dann gut laufen.

6

Alte Fäden nie sterben ...

Ich bin auf OSX Yosemite 10.10.5, und habe meine eigene PHP installiert, die derzeit 5.6.1 und will 5.6.13 aktualisieren - kam in demselben Fehler nur imap folgen.

Sah diesen Thread, und lief brew install map-uw dann lief configure basierend auf meinem vorhandenen phpinfo Ausgang.

./configure \ 
--prefix=/usr/local/php5 \ 
--with-apxs2=/usr/sbin/apxs \ 
--with-config-file-scan-dir=/usr/local/php5/php.d \ 
--with-openssl=/usr \ 
--with-zlib=/usr \ 
--with-zlib-dir=/usr \ 
--with-gd \ 
--with-ldap \ 
--with-xmlrpc \ 
--enable-exif \ 
--enable-soap \ 
--enable-wddx \ 
--enable-ftp \ 
--enable-sockets \ 
--with-bz2=/usr \ 
--enable-zip \ 
--enable-shmop \ 
--enable-sysvsem \ 
--enable-sysvshm \ 
--enable-sysvmsg \ 
--enable-mbstring \ 
--enable-bcmath \ 
--enable-calendar \ 
--with-mhash \ 
--enable-fpm \ 
--with-mysql=mysqlnd \ 
--with-mysqli=mysqlnd \ 
--with-pdo-mysql=mysqlnd \ 
--enable-pcntl \ 
--enable-dtrace \ 
--enable-opcache \ 
--disable-phpdbg \ 
--with-icu-dir=/usr/local/php5 \ 
--with-mssql=shared,/usr/local/php5 \ 
--with-pdo-dblib=shared,/usr/local/php5 \ 
--with-libxml-dir=shared,/usr/local/php5 \ 
--with-xsl=shared,/usr/local/php5 \ 
--with-imap=shared,/usr/local/Cellar/imap-uw/2007f \ 
--with-kerberos=/usr \ 
--with-imap-ssl=/usr \ 
--with-gettext=/usr/local/php5 \ 
--with-curl=shared,/usr/local/php5 \ 
--with-png-dir=/usr/local/php5 \ 
--with-jpeg-dir=/usr/local/php5 \ 
--enable-gd-native-ttf \ 
--with-freetype-dir=/usr/local/php5 \ 
--with-pgsql=shared,/usr/local/php5 \ 
--with-pdo-pgsql=shared,/usr/local/php5 \ 
--with-mcrypt=shared,/usr/local/php5 \ 
--with-tidy=/usr/local/php5 \ 
--with-gmp=shared,/usr/local/php5 \ 
--with-readline=shared,/usr/local/php5 

Dann make. Und es scheint gut zu funktionieren.

2

Ich habe das folgende Paket installiert und es funktioniert:
uw-imap-devel

Führen Sie diesen Befehl auf CentOS 7.x:
yum -y install uw-imap-devel

31

Für diejenigen, die die haben gleicher Fehler am Docker:

RUN apt-get update && apt-get install -y libc-client-dev libkrb5-dev && rm -r /var/lib/apt/lists/* 
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 
    && docker-php-ext-install imap 
+1

Ich bestätige, dass dies mit Docker php Bild funktioniert. Vielen Dank! – carlosdubusm

+2

Perfekte Lösung für Docker, obwohl ich am Anfang die 'rm' am Anfang vermisste. Das hat den Rest der apt-get-Anweisungen in meiner 'Dockerfile' durcheinander gebracht :) – Blizz

Verwandte Themen