此文章解决了openssl,pdo_mysql扩展安装完毕后php -m提示undefined symbol: OPENSSL_init_ssl
pdo_mysql 提示pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0
这两个问题一般是由于扩展安装的时候未指定openssl和mysql安装目录导致找不到一些变量定义
1.官网下载php源码安装包,下载地址 https://www.php.net/distributions/php-7.4.27.tar.gz
2. tar命令解压下载的包
tar zxvf php-7.4.27.tar.gz
3. 进入php-7.24.7 目录准备交叉编译和安装
cd php-7.4.27
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-fpm --enable-mbstring
--prefix 用来指定php的安装目录
--with-config-file-path 用来指定php.ini的路径
--enable-fpm 启用php-fpm
--enable-mbstring 启用mbstring扩展
configure 完毕后如果无任何报错,接着执行编译命令
make
make无错误后执行安装命令
make install
4.安装完毕后php被安装到目录/usr/local/php
5.查看mbstring扩展是否安装好,命令
/usr/local/php/bin/php -m|grep mbstring