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;
    }
相关推荐
大文说跨境2 小时前
亚马逊多店铺的图片素材怎么批量去重:EXIF 与哈希的处理流程
开发语言·php
上海运维Q先生3 小时前
PHP8.3.36升级修复手册----CVE-2026-109618 CVE-2026-109619
运维·php
2401_885885043 小时前
芬兰语音通知接口怎样对接?语音提醒接入流程
android·前端·python·php·语音识别
Flynt6 小时前
PHP 9.2 分 RCE 的补丁比公告早公开 3 天,我读完 389 个文件的 diff,也把"死在代码之前"跑了出来
安全·php·源码
萌动的小火苗7 小时前
MQTT的QoS0、QoS1、QoS2有什么区别?
开发语言·网络·python·php·信息与通信
silvamux_7 小时前
10款模型写“君幸食”讲解词:统一事实档案与逐款审校
开发语言·php
Data-Miner8 小时前
一个省大模型积分的 Excel 数据处理方案:脱敏生成逻辑,脚本复用把 token 降到 0
人工智能·windows·excel
Smoothcloud润云8 小时前
GPU远程纳管节点频繁离线?心跳、DNS与时钟排障实战
运维·服务器·开发语言·人工智能·php·gpu算力
ESDWAN8 小时前
企业访问海外系统很慢,如何一步步定位问题?
服务器·网络·php
企业解惑小助手8 小时前
上网行为审计日志保存6个月怎么落地:从合规要求到存储架构
网络·架构·php