我在 Fedora 15 系统上尝试设置 phpMyFAQ 时收到一条消息,提示
ext/xmlwriter
丢失。我在 PHP 手册中查找了它并得到了以下信息:
此扩展默认启用。可以通过在编译时使用以下选项来禁用它:--disable-xmlwriter
我使用 yum 在我的计算机上安装了 PHP,并认为重新编译 PHP 是一项相当不愉快的工作。我可以通过编辑某些内容(例如
php.ini
)来启用它吗?或者有其他方法可以在不重新编译 PHP 的情况下完成此任务吗?又如何?
在Ubuntu上 作为根
apt install php-xmlwriter
为我工作
否则
sudo apt install php-xmlwriter
在现代 PHP 的背景下,由于 PHP 7 使用以下库来解决这个问题 -
php7.3-xml
作为 PHP 7.3 的示例。它也适用于另一个版本;仅更改您的 PHP 版本。
Ubuntu系统安装如下:
sudo apt-get install php7.3-xml
如果您在不了解版本的情况下安装,请通过
sudo apt-get install php-xml
安装。
按照 netcoder 的建议运行以下命令对我有用
yum 安装 php-xmlwriter
我在迁移到新服务器时遇到了同样的问题:
1) 检查libxml是否已安装:
php -i | grep "xml"
结果示例:
1 /etc/php.d/xmlreader.ini,
2 /etc/php.d/xmlwriter.ini,
3 xmlrpc_error_number => 0 => 0
4 xmlrpc_errors => Off => Off
5 libxml
6 mbstring.http_output_conv_mimetypes => ^(text/|applicatio...
7 Simplexml support => enabled
8 xml
9 libxml2 Version => 2.7.6
10 xmlwriter
第 5、9 和 10 行告诉我们一切正常。
2) 如果未安装(以 CentOS 为例):
yum install libxml2
并重新启动服务器:
/etc/apache2 restart
或 php-fpm:
/etc/php-fpm restart
也许下一个变体会有用:
yum install php-xmlwriter
yum install php-xml
对于来自源代码的 php ,最新版本中
xmlwriter
默认启用,但您可以检查,该键 --disable-xmlwriter
未设置。
/etc/php.d/xmlwriter.ini
需要看起来像:
; Enable xmlwriter extension module
extension=xmlwriter.so
我认为最新的字符串 - 这是问题的主要决定。