静态编译 X64 的 PHP
说明
- 本来是在 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