手动编译安装PHP遇到错误以及解决方法记录

configure error xml2-config not found. please check your libxml2 installation
centos 6.5 安装 PHP 5.6 报 configure error xml2-config not found. please check your libxml2 installation 错误

检查是否安装了libxm包

[root@rh-linux software]# rpm -qa |grep libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12

重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。

[root@rh-linux /]# yum install libxml2
[root@rh-linux /]# yum install libxml2-devel -y

安装完之后查找xml2-config文件是否存在

[root@rh-linux /] # find / -name “xml2-config”
/usr/bin/xml2-config

编译安装php时遇到virtual memory exhausted: Cannot allocate memory

有时候用vps建站时需要通过编译的方式来安装主机控制面板。对于大内存的VPS来说一般问题不大,但是对于小内存,比如512MB内存的VPS来说,很有可能会出现问题,因为编译过程是一个内存消耗较大的动作。
本人近期就遇到一个这样的问题:在512MB内存centos操作系统的VPS上编译安装某国内主机控制面板,在编译安装php时日志中有如下错误记录:

virtual memory exhausted: Cannot allocate memory make: *
[ext/fileinfo/libmagic/apprentice.lo] Error 1

开始时的解决方法是先将很多的进程关闭,比如httpd、ftpd、sendmail等等,释放出了一部分内存后,再进行编译,仍然得到同样的编译错误。后来百度谷歌了很久才找到解决问题的方法,而且是在php.net上找到的解决方法,原文链接是:https://bugs.php.net/bug.php?id=48809
在回复中可以看到

Adding –disable-fileinfo to ./configure solves the problem.

根据这个文章的方法将php安装配置文件中加了引号中的配置(不包括引号)“–disable-fileinfo”后终于编译通过。这里分享出来供参考。

你可能感兴趣的:(PHP,安装,编译)