提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
人是代码非
最近在自己的服务器上面汇总一些工作中的常用的功能,有一个功能是想把数据库的一张表导出到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.
没装的小伙伴按照我下面的截图装一下吧:

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

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

被折叠的 条评论
为什么被折叠?



