tp框架导出excel的时候报错:unexcepted identifier “Closure“,excepting variable

记录一个简单的错误。

背景

用的是PhpOffice/PhpSpreadsheet

在本地环境下是可以正常导出excel的。但是线上就不行。

就会报错unexcepted identifier "Closure",好像是不能用匿名函数。

首先

本地可以正常导出,然后服务器上不可以。看了各种日志。php日志、nginx日志、tp框架的日志 。就是找不到毛病。

然后开始排查php扩展,php本地的扩展,在服务器上都安装了。

还各种修改文件夹的权限,还是没用。

在php.ini中还禁用函数,但是都没有作用。

我连代码都重新clone的一遍。

解决

最后屈服了,把服务器上的php8.0换成了php8.2,(和本地环境一致。)然后就OK了。

需要注意的是:

宝塔环境下,不能单纯的切换php版本。要把nginx的配置文件也要改掉!

php 复制代码
location ~ \.php$ {
        fastcgi_pass unix:/tmp/php-cgi-82.sock;  # 改为与PHP-FPM配置一致
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        # ThinkPHP 专用参数
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
相关推荐
流形填表8 小时前
题库迁移实战:Excel中间格式与列映射
python·excel
一条破秋裤11 小时前
TCP 套接字:API 流程、地址结构与网络字节序
网络·tcp/ip·php
HZZD_HZZD12 小时前
弱网下CoAP还省吗?合众致达Cat.1电表90天实测:MQTT重连流量占52%、续航差距从38%拉大到73%
开发语言·物联网·php·腾讯云
无糖可乐没有灵魂14 小时前
用一篇文章来精通“进程/线程/协程/锁“多并发任务
开发语言·php
字节渡客14 小时前
PHP项目复盘:foreach 引用残留造成的诡异数据错乱
开发语言·php
泡海椒14 小时前
JQuick-Excel JQuickRow 数据准备实战:JObjectConverter、JQuickRow.toRows 与 XML 导出链路
xml·windows·excel
aixingpan15 小时前
aixingpan.cn API开发文档:api_docs_transit接口指南
前端·php
狗凯之家源码网1 天前
淘客口令落地页生成器 PHP 版深度评测
开发语言·php
画绛集美术1 天前
本地化部署LLM用于美术史问答:一间美术教室的实践记录
开发语言·php
PHP实战开发录1 天前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发