./configure找不到evp.h

时间:2014-04-20 10:37:29

标签: php linux debian

在将sources.list中的版本设置为7.0之后,我在Debian 6.0上安装了以下软件包:

  • 的libssl-dev的
  • OpenSSL的
  • OpenSSL的共用

我已经确认/usr/include/openssl/evp.h存在且权限为777,然后我运行了./configure,如下所示:

./configure --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-mcrypt --disable-rpath --enable-inline-optimization --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --enable-gd-native-ttf --with-fpm-user=www-data --with-fpm-group=www-data --enable-ftp --with-kerberos --with-gettext --with-xmlrpc --enable-opcache --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --with-config-file-scan-dir=/etc/php5/conf.d --with-openssl-dir=/usr/include/openssl

但是,我仍然从配置中得到错误,无法找到evp.h。

3 个答案:

答案 0 :(得分:10)

我很长一段时间都在努力解决这个问题,最终为我工作了:

而不是--with-openssl-dir=/usr/include/openssl只使用--with-openssl

答案 1 :(得分:9)

如果./configure ...找不到/usr/include/openssl/evp.h,则很可能您没有安装openssl,即标头。因此,如果您使用的是CentOs,首先应该这样做:

yum install openssl-devel

答案 2 :(得分:3)

这是php bug

中的错误

原因是因为在运行命令后,phpize' configure脚本有一个未设置的变量(PHP_OPENSSL_DIR)"是"

所以你应该这样做:

export PHP_OPENSSL_DIR=yes
./configure -with-openssl-dir=/usr/include/openssl