在将sources.list中的版本设置为7.0之后,我在Debian 6.0上安装了以下软件包:
我已经确认/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。
答案 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