PHP编译后如何启用xmlwriter?

las*_*and 7 php xmlwriter

ext/xmlwriter在我的Fedora 15系统上尝试设置phpMyFAQ时,我收到了一条消息.我在PHP手册上查了一下,得到了这个:

默认情况下启用此扩展.可以在编译时使用以下选项禁用它: - disable -xmlwriter

我使用yum在我的计算机上安装PHP,并考虑重新编译PHP是一件非常不愉快的工作.我可以通过编辑某些内容来启用它php.ini吗?或者在不重新编译PHP的情况下完成此任务的任何其他方法?如何?

Bab*_*pey 21

在 Ubuntu 上作为 root

apt install php-xmlwriter

为我工作

别的

sudo apt install php-xmlwriter
Run Code Online (Sandbox Code Playgroud)


Bax*_*xny 15

按照netcoder的建议运行以下内容对我有用

yum安装php-xmlwriter


bue*_*tge 12

在现代 PHP 的上下文中,自 PHP 7 起,使用以下库来解决此问题 -php7.3-xml作为 PHP 7.3 的示例。也适用于其他版本,仅针对您的 PHP 版本进行更改。

Ubuntu系统的安装如下: sudo apt-get install php7.3-xml

如果您在不了解版本的情况下安装,请通过sudo apt-get install php-xml.

  • 这是正确的答案,尽管由于版本更改而无效。使用“sudo apt-get install php-xml” (3认同)

小智 5

我在迁移到新服务器时遇到了同样的问题:

1)检查libxml是否已安装:

php -i | grep "xml"
Run Code Online (Sandbox Code Playgroud)


结果示例:

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
Run Code Online (Sandbox Code Playgroud)

第 5、9 和 10 行告诉我们一切正常。

2) 如果未安装(以 CentOS 为例):

yum install libxml2
Run Code Online (Sandbox Code Playgroud)

并重新启动服务器:

/etc/apache2 restart
Run Code Online (Sandbox Code Playgroud)

或 php-fpm:

/etc/php-fpm restart
Run Code Online (Sandbox Code Playgroud)

也许下一个变体会有用:

yum install php-xmlwriter
yum install php-xml
Run Code Online (Sandbox Code Playgroud)

对于来自最新版本源的 php,xmlwriter默认启用,但您可以检查,该键--disable-xmlwriter未设置。

3)最后一步- 文件:

/etc/php.d/xmlwriter.ini
Run Code Online (Sandbox Code Playgroud)

需要看起来像:

; Enable xmlwriter extension module
extension=xmlwriter.so
Run Code Online (Sandbox Code Playgroud)

我认为最新的字符串 - 这是问题的主要决定。