无法加载动态库“/usr/lib/php/20151012/php_xmlrpc.dll”

无法加载动态库“/usr/lib/php/20151012/php_xmlrpc.dll”

我已经安装了 Apache 2.4、PHP7,并使用以下命令安装了 SimpleXML:

apt-get install php-simplexml

php.ini然后我取消注释了for中的行extension=php_xmlrpc.dll并重新启动了 Apache。

我的apache.log告诉我这个:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_xmlrpc.dll' - /usr/lib/php/20151012/php_xmlrpc.dll: cannot open shared object file: No such file or directory in Unknown on line 0

我怎样才能让它消失?

答案1

您所描述的内容存在 2 个问题。

首先,您安装了一个模块(simplexml),同时您尝试启用另一个模块(xmlrpc)。

为了解决这个问题,您需要使用以下命令安装xmlrpc模块:

sudo apt install php-xmlrpc

第二个问题是,您尝试启用.dllWindows 系统独有的扩展。在 *nix 系统上,PHP 扩展通常是.so

但无论哪种情况,当您需要在 Ubuntu 中启用 PHP 包时,您应该使用该phpenmod命令(14.04 后可用)。

因此您应该通过注释该行来撤销您的更改,然后运行以下命令:

sudo phpenmod xmlrpc

答案2

DLL 是一种动态链接库文件格式,用于保存 Windows 程序的多个代码和过程。创建 DLL 文件是为了让多个程序可以同时使用它们的信息,从而有助于节省内存。

请注释掉您取消注释的行,因为 DLL 适用于 Windows。Ubuntu 找不到扩展名为 *.dll 的文件。

相关内容