【Php】PhpSpreadsheet安装的坑怎么这么多!

文章讲述了在PHP7.4.33环境下尝试使用PhpSpreadsheet库时遇到的安装问题,包括缺少fileinfo扩展、网络下载中断、proc_open函数禁用、文件权限等问题,以及对应的解决策略。最终成功安装并生成了vendor目录。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


人是代码非

最近在自己的服务器上面汇总一些工作中的常用的功能,有一个功能是想把数据库的一张表导出到excel里面,于是我把自己两三年前用过的PhpExcel库引入到我的Php代码中,结果发现已经用不起来了……

我还是我,但服务器的Php版本已经是PHP-7.4.33了,引入PhpExcel库一运行,结果报了一个这样的错误:“Deprecated: Array and string offset access syntax with curly braces is deprecated in /PHPExcel/Shared/String.php on line 526”,大致的意思是说Php7已经不支持PhpExcel里面用到的语法规则了,搜索了一下,说是PhpExcel已经不再维护了,现在有一款替代的叫“PhpSpreadsheet”,就准备用一下试试,结果发现光安装就好多坑,一言难尽。


提示:以下是本篇文章正文内容,下面案例可供参考

一、PhpSpreadsheet不安装直接用行不行?

答案:不行。我在github上面把PhpSpreadsheet代码下载下来后上传到服务器上面,然后在代码里面包含了几个需要用到的文件,像Spreadsheet.php,但运行时会报找不到Spreadsheet类的错误。后来查了一下,说是必须通过composer安装后才可以使用,于是开始了自己的踩坑之旅。

二、安装的坑

1.缺少fileinfo扩展

在服务器上面按照官方给的安装命令“composer require phpoffice/phpspreadsheet”,执行后报如下错误:

  Problem 1
    - Root composer.json requires phpoffice/phpspreadsheet ^1.29 -> satisfiable by phpoffice/phpspreadsheet[1.29.0].
    - phpoffice/phpspreadsheet 1.29.0 requires ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.

没装的小伙伴按照我下面的截图装一下吧:
宝塔面板安装fileinfo扩展

2.下载中断

报如下错误:

  [Composer\Downloader\TransportException]                                                                                                                        
  curl error 7 while downloading https://repo.packagist.org/p2/phpoffice/phpspreadsheet.json: Failed to connect to repo.packagist.org port 443: No route to host 

查了一下这种错误是由于从国外下载,网络并不是十分稳定,遇到这种错误只能是重新运行安装命令,希望下次能够稳定下载。

3.proc_open函数被禁用

报如下错误:

  [Symfony\Compo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值