PHP, 原创, 服务器, ,

ceontos安装php7.2 提示cURL version 7.10.5 or later is required to compile php with cURL support

centos 安装 php7.2及以上版本的时候还是有几点需要注意的。

不要使用 php.net Download 提供的下载地址,而是使用 git上的下载地址,原因php.net下的里面存在一些bug,一些文件不全,导致无法安装mysqlnd扩展等。类似这种错误:

ext/curl/multi.c:501: undefined reference to curl_pushheader_bynum

先安装一些依赖包

sudo yum install -y libxml2-devel
sudo yum -y install libcurl-devel
sudo yum install openssl openssl-devel
sudo yum install bzip2 bzip2-devel
sudo yum install freetype-devel
sudo yum install libxslt-devel

在运行

./configure --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-fpm --with-curl --with-fd --enable-mbstring

如果 centos7 php7动态编译出现mysqlnd: configure: error: Cannot find OpenSSL’s <evp.h> 错误,显然已经安装了openssl, openssl-devel,为什么还是提示这个错误,搜索了一下evp.h,这个文件也存在。GOOGLE 了一下,在stackoverflow,找到了答案,原来是 phpize 生成的configure脚本有问题。

解决方法:

export PHP_OPENSSL_DIR=yes
./configure -with-openssl-dir=/usr/include/openssl --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-fpm --with-curl --with-fd --enable-mbstring

以上参数可根据实际情况先不带,后面需要在增加相关扩展。

Ubuntu先编译提示 evp.h的请参考 解决Ubuntu下php 7.0.6 生成 openssl.so报错,configure: error: Cannot find OpenSSLs evp.h

 

(595)

Related Post