今天我正在尝试升级MacOS Mountain Lion上的php。我按照MacTuts+教程和我执行该长命令的步骤:
./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
我在流程结束时收到错误。
configure:error:utf8_mime2text()有新签名,但缺少U8T_CANONICAL。这不应该发生。检查config.log以获取更多信息。
任何解决方案?提前谢谢。
答案 0 :(得分:53)
对于在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 :(得分:14)
如果您的操作系统存储库中有“libc-client-devel”RPM或其他软件包,请安装它。
这将提供PHP为IMAP支持所需的c-client库和头文件。
答案 2 :(得分:9)
可以通过删除IMAP支持,删除这些行来修复错误
--with-imap=/usr/local/imap-2007
--with-imap-ssl
答案 3 :(得分:6)
旧线程永远不会死......
我在OSX Yosemite 10.10.5上,安装了我自己的php,目前是5.6.1,想要升级到5.6.13 - 遇到了跟imap一样的错误。
看到这个帖子,然后运行brew install map-uw
,然后根据我现有的configure
输出运行phpinfo
。
./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
然后make
。而且似乎工作正常。
答案 4 :(得分:4)
我已安装以下包装并且有效:
UW-IMAP-devel的的
在CentOS 7.x上运行此命令:
yum -y install uw-imap-devel
答案 5 :(得分:3)
在尝试编译PHP 5.5.0时,我在Fedora上遇到了同样的问题。
问题与'--with-imap'
配置参数有关。
为了解决这个问题,我从最新的源码(目前是imap-2007f)编译了我自己的imap版本,为此,我必须安装一些先决条件。在fedora我这样做了......
yum install openssl openssl-devel pam-devel
wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz
tar zxvf imap-2007f.tar.gz
然后我必须建立一个软链接,以便编译器可以找到库。就我而言,我做了以下事情:
mkdir /usr/local/ssl
ln -s /usr/include /usr/local/ssl/include
然后编译:
cd imap-2007f
make lnp SSLTYPE=unix EXTRACFLAGS=-fPIC
然后我可以通过将imap源路径添加到配置参数来编译PHP,如下所示:
/path/to/php/src> ./configure ...other_params... '--with-imap=/path/to/imap-2007f' '--with-imap-ssl'
make
make install
答案 6 :(得分:2)
在安装php之前安装imap。
brew install imap-uw
然后
brew install php55 --with-fpm --with-imap --without-apache --with调试
然后运行--with-imap选项。
答案 7 :(得分:1)
带有Apache的Docker和PHP(php:apache默认映像)可以与:
RUN apt-get update && apt-get install libc-client-dev libkrb5-dev
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl
根据安装情况,可能还需要其他依赖项。
答案 8 :(得分:-1)