说明

  • 本来是在 Debian-9 下编译的,但是 libc.a 老是报错,换成 Ubuntu-19.10 就好了

准备工作

编译

#从官网下载合适的版本并解压
php_version=7.4.0
wget -O- "https://www.php.net/distributions/php-$php_version.tar.gz" | tar xz

#进入编译目录
cd php-$php_version

#设置依赖文件路径
OPENSSL_PATH=~/x64
ZLIB_PATH=~/x64
CURL_PATH=~/x64

#编译
./configure --enable-shared=no --without-libxml \
			--without-pear --disable-dom --disable-xmlwriter \
			--disable-xml --disable-xmlreader --with-curl \
			--without-pdo-sqlite --disable-simplexml \
			--disable-cgi --disable-phpdbg \
			--without-sqlite3 \
			CURL_CFLAGS="-I$CURL_PATH/include" \
			CURL_LIBS="-L$CURL_PATH/lib -lcurl" \
			ZLIB_CFLAGS="-I$ZLIB_PATH/include" \
			ZLIB_LIBS="-L$ZLIB_PATH/lib -lz" \
			OPENSSL_CFLAGS="-I$OPENSSL_PATH/include" \
			OPENSSL_LIBS="-L$OPENSSL_PATH/lib -lssl -lcrypto"
make LDFLAGS="-all-static -lpthread" -j $(grep "cpu cores" /proc/cpuinfo | wc -l)

#处理编译好的文件
mv sapi/cli/php ../php_x64
cd ..
strip php_x64

编译完之后,就可以删除源文件了

rm -rf php-$php_version

下载

编译好的文件