背景
最近进行系统迁移,在新的服务器上运行系统,进行导入excel文件时,PHPEXCEL插件处理过程中报了个错
Fatal error: Class ‘ZipArchive’ not found
经过一番查找,发现是PHP环境没有安装zip扩展,故需要安装支持,过程如下:
安装过程
首先登入系统,下载扩展文件:
cd /usr/src
wget http://pecl.php.net/get/zip-1.14.0.tgz
这里需要找到适合自己环境的zip版本,之前我下载过最新的1.15版本,编译失败了
解压,进入
tar zxvf zip-1.14.0.tgz
cd zip-1.14.0
这里简单科普一下两个脚本:
phpize
:用户扩展php扩展模块时运行的脚本,当php编译完成后,php的bin目录下会有phpize这个脚本文件。
./configure
:主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
好了废话不多说,接下来进行编译安装:
/usr/local/php/bin/phpize #运行php扩展模块脚本,不同服务器phpize路径可能不同,可以find一下
./configure --with-php-config=/usr/local/php/bin/php-config #运行编译脚本,不同服务器php-config路径可能不同,可以find一下
make #先make编译一下,看是否有错,如果报错了,很大可能是zip版本与php环境不兼容,重新下载一个版本
make install #如果上一步没有错,则进行安装。
接着在php.ini文件里加入扩展
echo 'extension=zip.so' >> /etc/php.ini
最后重启下php,nginx
service php-fpm restart
service nginx restart