[英]Cannot enable XMLWriter module with PHP7 on Debian9
我正在嘗試安裝一個使用 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(也重新啟動了 Nginx)上安裝了 php7.0-xml 但似乎 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; 對於這兩個模塊,我運行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
問候,
好的,我終於得到了這個。
我剛跑
apt-get purge php7.0-xml && apt-get install php7.0-xml
在重新啟動 PHP 以查看啟用的 XML 模塊(Reader、Writer 和其他)之前。
我無法弄清楚發生了什么,但至少我已經完成了。
問候,
在 Ubuntu 18.04 上作為 root
apt install php-xmlwriter
或者使用 sudo:
sudo apt install php-xmlwriter
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.