如何修复从源安装PHP时找不到xml2-config的错误?

Tro*_*ike 196 php compilation php-5.3

当我尝试从Ubuntu上的源代码安装php 5.3 stable(从http://www.php.net/downloads.php下载压缩的安装文件)并运行时出现./configure此错误:

configure: error: xml2-config not found. Please check your libxml2 installation.
Run Code Online (Sandbox Code Playgroud)

Tro*_*ike 415

你需要做的只是安装包libxml2-dev,例如:

sudo apt-get install libxml2-dev
Run Code Online (Sandbox Code Playgroud)

在CentOS/RHEL上:

sudo yum install libxml2-devel
Run Code Online (Sandbox Code Playgroud)

  • 我正在使用centos 6.4,对我来说这个包叫做libxml2-devel (8认同)
  • 对于centos 7中的错误运行:sudo yum install libxml2-devel (5认同)
  • 有谁知道为什么需要dev版本的标准`libxml2`包? (2认同)
  • @JLewkovich我认为这是因为dev版本包含源代码或其他东西.据我所知,如果你从源代码编译一些内容,你必须拥有所有依赖项的源代码. (2认同)
  • 对于任何来到这里的PHP7实验者来说,这个答案仍然适用于PHP7 (2认同)

Мак*_*нко 7

对于最新版本,需要安装libxml ++ 2.6-dev,如下所示:

apt-get install libxml++2.6-dev
Run Code Online (Sandbox Code Playgroud)


sil*_*ver 6

当我使用 DockerFile 时,我遇到了同样的问题。我的 Docker 基于 php:5.5-apache 镜像。

我在执行命令时遇到了那个错误 RUN docker-php-ext-install soap

我已经通过将以下命令添加到我的 Dockerfile 来解决它:

RUN apt-get update && apt-get install -y libxml2-dev
Run Code Online (Sandbox Code Playgroud)


Dmi*_*try 5

乌班图、德班:

sudo apt install libxml2-dev
Run Code Online (Sandbox Code Playgroud)

森托斯:

sudo yum install libxml2-devel
Run Code Online (Sandbox Code Playgroud)