Linux下升级php版本到7.4.32 源码编译记录
之前安装的一些必须功能模块插件等 环境变量
export LIBXML_CFLAGS="/opt/pcbox/libxml2/include/libxml2"
export LIBXML_LIBS="/opt/pcbox/libxml2/lib"
export SQLITE_CFLAGS="/opt/pcbox/sqlite3/include"
export SQLITE_LIBS="/opt/pcbox/sqlite3/lib"
export ZLIB_CFLAGS="/opt/pcbox/deps/zlib/include"
export ZLIB_LIBS="/opt/pcbox/deps/zlib/lib"
export CURL_CFLAGS="/opt/pcbox/deps/curl/include/curl"
export CURL_LIBS="/opt/pcbox/deps/curl/lib"
export PNG_CFLAGS="/opt/pcbox/deps/libpng/include"
export PNG_LIBS="/opt/pcbox/deps/libpng/lib"
export JPEG_CFLAGS="/opt/pcbox/deps/jpeg/include"
export JPEG_LIBS="/opt/pcbox/deps/jpeg/lib"
./configure --prefix=/opt/pcbox/php7.4
--enable-fpm --enable-gd --enable-sockets
--with-zlib=/opt/pcbox/deps/zlib --with-jpeg=/opt/pcbox/deps/jpeg
--with-mysqli --enable-mysqlnd --with-mysql-sock --with-pdo-mysql
#make
make ZEND_EXTRA_LIBS='-lz -lsqlite3 -lxml2 -lpng -ljpeg'
make install
头文件找不到
错误示例:libxml/parser.h: No such file
解决方案:指定头文件路径:
gcc -I/usr/local/include/libxml2 test.c -o test -lxml2
###Make
make ZEND_EXTRA_LIBS='-lxml2 -lsqlite3 -lz'
export LDFLAGS="-L/opt/pcbox/libxml2/lib -L/opt/pcbox/sqlite3/lib -L/opt/pcbox/deps/zlib/lib -L/opt/pcbox/deps/libpng/lib -L/opt/pcbox/deps/jpeg/lib $LDFLAGS"
确保头文件和库路径被系统识别:
export C_INCLUDE_PATH=/usr/local/include/libxml2:$C_INCLUDE_PATH
export LD_LIBRARY_PATH=/opt/pcbox/sqlite3/lib:$LD_LIBRARY_PATH