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;
    }
相关推荐
r***F26219 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
SEO_juper21 小时前
别再纠结LLMs.txt了!它背后的真相与最佳使用场景,一文讲透。
开发语言·ai·php·数字营销
p***c94921 小时前
PHP在电商中的电商系统
开发语言·php
阿星智力囊1 天前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6
Xudde.1 天前
Quick2靶机渗透
笔记·学习·安全·web安全·php
F***c3251 天前
PHP在微服务中的分布式跟踪
分布式·微服务·php
chxii1 天前
PHP 配置全解析:Apache vs Nginx 的线程安全差异与 Windows 实战指南
运维·php
用户607320369451 天前
PHP cURL 接口调不通?最全故障排查流程来了(新手必收藏)
php
q***72191 天前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
非凡的世界1 天前
为什么我和越来越多的PHP程序员,选择了 Webman ?
开发语言·php·workman·webman