Symfony从PHPExcel迁移至PhpSpreadsheet时Rector报错,原有phpexcel服务是否可用
迁移项目基础背景
- 运行环境:PHP v7.3.24、Symfony v4.4.19
- 原有业务:基于PHPExcel完成Excel导出功能开发
- 迁移目标:平滑切换至PhpSpreadsheet组件
- 已安装依赖:phpoffice/phpspreadsheet 1.17.1、rector/rector v0.7.2、rector/rector-prefixed v0.9.31
- 操作参考:按照PhpSpreadsheet官方发布的PHPExcel迁移指引执行自动迁移流程,操作始终失败
待解决的核心问题
1. Rector自动迁移执行异常
- 首次执行命令
vendor/bin/rector process src --set phpexcel-to-phpspreadsheet,系统返回报错:bash: vendor/bin/rector: No such file or directory - 替换为Rector实际安装路径执行
vendor/rector/rector/bin/rector process src --set phpexcel-to-phpspreadsheet,返回报错:[ERROR] Set "phpexcel-to-phpspreadsheet" was not found - 已尝试的排查操作均未解决问题:
- 安装指定0.7版本的Rector组件
- 加装rector/rector-prefixed开发依赖
- 执行
vendor/rector/rector/bin/rector init完成Rector项目初始化
- 现有Rector自定义可执行脚本存在语法异常:代码片段中出现
$application = $container-rector/rector-prefixed>get(Application::class);这类无效语法,暂未定位到具体操作偏差点
2. 原有Symfony容器服务的迁移兼容性待确认
- 现有业务代码通过Symfony容器调用名为
phpexcel的服务,承载三类核心业务逻辑:- Excel实例对象创建
- Excel5格式写入器实例化
- Excel下载场景的流式响应生成
- 完成PhpSpreadsheet迁移后,该原有容器服务能否正常运行暂不明确
内容的提问来源于stack exchange,提问作者scottie320
相关产品推荐
相关产品推荐

