本文首发于大黄豆科技博客
安装一个pecl的excel扩展,多版本下有点问题。
$ pecl install xlswriter
于是尝试编译安装
多版本文件位置
在centos7中,多版本php的安装是基于remi(https://rpms.remirepo.net/wizard/)
多版本的配置文件位于/etc/opt/remi/phpxx下
可执行文件位于 /opt/remi/phpxx下
其中包括phpize,php可执行文件
可以做软链将phpize, php链接到/usr/bin/phpizeXX下
pecl安装
折腾了一下如下的安装脚本切换
#!/bin/bash
if [[ $1=='php81' ]]
then
sudo pecl config-set ext_dir /opt/remi/php81/root/usr/lib64/php/modules
sudo pecl config-set php_bin /usr/bin/php81
elif [[ $1=='php74' ]]
then
sudo pecl config-set ext_dir /usr/lib64/php/modules
sudo pecl config-set php_bin /usr/bin/php
fi
但是也没成功,以后在研究吧。
编译安装
在pecl上搜索扩展包,本例所安装的xlswriter
选择合适版本下载链接
$ wget https://pecl.php.net/get/xlswriter-1.5.1.tgz
# 解压
$ tar -xvf xlswriter-1.5.1.tgz
# cd到目录中
$ cd xlswriter-1.5.1
# 运行所需版本的phpize
$ phpize81
# configure带上php-config
$ ./configure --with-php-config=/opt/remi/php81/root/usr/bin/php-config
$ make && make install
# 最后在php.ini或include扩展文件夹下加入对应配置
# extension=xlswriter.so
# 本机中扩展文件夹为/etc/opt/remi/php81/php.d
ubuntu或者其他发行版可能略有不同,找到对应的phpize、php-config、php.d文件夹即可