无法在Debian9上使用PHP7启用XMLWriter模块

ouch

我正在尝试安装使用PHPSpreadSheet库的PHP应用程序。

Web服务器是Nginx;操作系统是Debian 9.5,当前的PHP-FPM版本是7.0。

尝试使用PHPSpreadsheet库时,遇到如下错误

错误:找不到类“ XMLWriter”

文件/var/www/XXXX/vendor/cakephp/cakephp/src/PhpOffice/PhpSpreadsheet/Shared/XMLWriter.php

行:5

深入研究库本身,我看到该类正在尝试从\ XMlWriter继承-这是一个描述为PHPSpreadsheet正常运行所必需的模块-直到现在我还好。

<?php

namespace Cake\PhpOffice\PhpSpreadsheet\Shared;

class XMLWriter extends \XMLWriter
{
...

问题是我已经在Debian上安装了php7.0-xml(也让Nginx感到有些失望),但似乎XMLWriter仍未安装,因此产生此致命错误...

请参阅以下apt的输出

apt-get install php7.0-xml
Reading package lists... Done
Building dependency tree
Reading state information... Done
php7.0-xml is already the newest version (7.0.30-0+deb9u1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

另外,在我的phpinfo文件中,除了显示的作者姓名之外,我找不到任何其他对XMLWriter的引用。绝对未启用该模块!

我需要执行其他任何步骤才能在PHP环境中真正启用此模块吗?

编辑:我还必须安装php7.0-gd和php7.0-zip; 对于那些2个模块,我跑apt-get install php7.0-gd php7.0-zip,并service php7.0-fpm restart看到他们主动跟我的phpinfo()

这些模块的一切似乎都很正常,因为我可以在/etc/php/7.0/fpm/mods-available中看到ini文件

ls /etc/php/7.0/mods-available/ -al
total 28
drwxr-xr-x 2 root root 4096 Oct  5 23:04 .
drwxr-xr-x 4 root root 4096 Sep 24 13:09 ..
-rw-r--r-- 1 root root   64 Jun 14 15:50 gd.ini
-rw-r--r-- 1 root root   71 Jun 14 15:50 mysqli.ini
-rw-r--r-- 1 root root   72 Jun 14 15:50 mysqlnd.ini
-rw-r--r-- 1 root root   74 Jun 14 15:50 pdo_mysql.ini
-rw-r--r-- 1 root root   66 Jun 14 15:50 zip.ini

在那里,对于xml或xmlwriter,我一无所知。

我可以在与gd.so或zip.so相同的位置找到xml.so,但是暂时没有办法启用此扩展!

find / -name xml.so
/usr/lib/php/20151012/xml.so

find / -name gd.so
/usr/lib/php/20151012/gd.so

问候,

ouch

好吧,我终于得到了这个。

我跑了

apt-get purge php7.0-xml && apt-get install php7.0-xml

在重新启动PHP之前,请先查看XML模块(Reader,Writer和其他)是否已启用。

我不知道发生了什么,但至少我已经完成了。

问候,

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章