系统镜像是基于阿里云的 Debian10.6。
configure参数:
./configure --prefix=/usr/local/php/php74 --enable-gd --with-curl --enable-fpm --enable-cgi --with-openssl --enable-mbstring --with-pdo-mysql --with-zlib --with-zip --with-mysqli --enable-opcache --enable-mysqlnd --with-libxml --with-jpeg --with-freetype --with-pdo-sqlite --with-sqlite3 --enable-cli --enable-shared --enable-exif
问题记录
问题:
configure: error: Package requirements (openssl >= 1.0.1) were not met:
No package ‘openssl’ found
解决: apt install libssl-dev
问题:
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
No package ‘sqlite3’ found
解决: apt-get install libsqlite3-dev
问题:
configure: error: Package requirements (libcurl >= 7.15.5) were not met:
No package ‘libcurl’ found
解决: apt-get install libcurl4-gnutls-dev
问题:
configure: error: Package requirements (oniguruma) were not met:
No package ‘oniguruma’ found
解决: apt install libonig-dev
问题:
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
No package ‘libzip’ found
解决: apt-get install libzip-dev
另外,编译时遇到virtual memory exhausted: Cannot allocate memory的错误,这是由于阿里云的镜像默认没开启swap的原因,创建一个swap内存再编译即可。
总结一下,在阿里云提供的debina10镜像上编译安装PHP7.4,必须安装的依赖有:
apt install -y libssl-dev libsqlite3-dev libcurl4-gnutls-dev libonig-dev libzip-dev
一点感想:与 CentOS7 相比,Debian10 安装一些依赖非常方便,不用像 CentOS 一样要到处找源,要安装“野包”才能编译。