thinkphp报错:class‘ZipArchive’ not found
老师,遇到疑难问题了,研究了两天还没整明白,急需解惑啊~~
情况是——
1.使用thinkphp框架,导出excel操作,始终报错:class‘ZipArchive’ not found。之前用xampp开发, 功能正常。
2.nginx.conf里修改了server内容,改成了thinkphp推荐配置。
3.查看php -list,zip和zlib都是enabled。
4.查看pear -list,Archive_Tar和Archive_Zip也都安装了。
5.php.ini改了三个地方:extension_dir=zip.so所在路径、extension=zip.so、zlib.output_compression = on。
(LNMP1.7是自带有zip,我按照网上教程又编译安装了zip,所以php -list还有zip重复的提示。)
本机环境——
操作系统:Ubuntu 16.04
LNMP:1.7
php:5.6.40
mysql:5.7.30
Nginx:1.18.0
zip:1.12.5
ziplib:0.11.2
zlib:1.2.8
Archive_Tar:1.4.4
Archive_Zip:0.1.2
我感觉这应该是个小问题,但研究了整整两天时间,工期都滞后了,项目经理反复在催让我换回xampp开发。老师,您看这个问题该如何解决啊?
已解决。phpinfo()发现,原来nginx用的竟然是php7.0,由apt-get安装,什么时候装的啊??php-fpm监听的是php7.0,不是LNMP安装的php5.6.40。
将php-fpm.conf配置改为nginx的127.0.0.1:9000后,问题解决。 ZipArchive是zip模块里的,这个都默认安装了
lnmp的都不使用端口监听的连接方式都使用的套接字的连接方式,没改过配置文件的话php-fpm的连接方式不是127.0.0.1:9000 已经把php-fpm和nginx的连接方式改成socket了,谢谢军哥指点。
还有一个问题,php7.0已经用sudo apt-get --purge remove和sudo apt-get autoremove php7.0两个命令删除了。现在我的Ubuntu系统里只有一个php5.6.40。
但ls /etc/php,仍有名为“7.0”的几个空文件夹。虽然不影响LNMP使用,但是看起来不舒服啊,应该可以删了吧?有强迫症。
页:
[1]