安装PHP过程中,make步骤报错:(集合网络上各种解决方法)

(1)
-liconv -o sapi/fpm/php-fpm

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] Error 1

[[email protected] php-5.4.5]#

初步定位是iconv的问题
解决方法 把libiconv卸载掉
进入libiconv源码目录执行
#make uninstall
#make clean

# ./configure –prefix=/usr/local/libiconv
# make
# make install

在进入php源码目录

./configure php时加上参数--with-iconv=/usr/local/libiconv

(2)
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
解决办法:安装包 yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64

(3)
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法:

请安装lib所需的安装包

yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel kernel

执行安装完以后即可解决问题

make

make install

(4)
装php环境出现

ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

我的编译是这样:

./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm

解决办法:

增加 – - disable-cli

(5)
编译php时
ext/xmlreader/php_xmlreader.o: In function `zim_xmlreader_XML‘:
/usr/local/src/php-5.2.8/ext/xmlreader/php_xmlreader.c:1109: undefined reference to `xmlTextReaderSetup‘
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
解决办法:折腾了半天,最后先make clean 一下,然后把所有libxml2相关的包都装上重新编译就ok了。

(6)
运行可能报错 :我遇到xsl和mcrypt两个库报错,重新安装一下xsl的dev包就可以:
CentOS : yum install libxslt-devel libmcrypt-devel
Debian : apt-get install libxslt1-dev libmcrypt-dev
如果你有其他的库不满足,搜索一下该库,安装一下即可,这一步应该没有太多问题。
编译:
make
我在Debian下make正常,但在CentOS下却提示make错误,
make: *** [sapi/fpm/php-fpm] Error 1 错误中出现 libiconv,应该是iconv包问题,
使用下面的命令替换即可:
make ZEND_EXTRA_LIBS=‘-liconv‘
完成后:
make test
make install

时间: 2024-10-05 12:24:59

安装PHP过程中,make步骤报错:(集合网络上各种解决方法)的相关文章

20170514002Oracle 11g R2安装过程中遇到的报错及解决办法

Oracle 11g R2安装过程中遇到的报错及解决办法 1.提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #su – Oracle  //切换到oracle用户 $./runInstaller  //执行安装程序 xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA

Ubuntu安装NRPE(Nagios插件)报:Cannot find ssl headers解决方法!

Linux系统:Ubuntu 12.04 Nagios Linux客户端需要安装NRPE进行数据收集,如果在Ubuntu系统下安装过程中遇到下面的错误提示:checking for SSL libraries... configure: error: Cannot find ssl libraries 那么可能是缺少sudo apt-get install opensslsudo apt-get install libssl-dev 如果nrpe-2.15# ./configure   还是一样

weblogic使用过程中的部分报错与解决方案

报错一: vim中 E212:无法打开并写入文件 编写配置文件时,常常忘记切换到root用户,导致文件编辑完毕,敲入:wq 退出保存时,出现 E212:无法打开并写入文件 的错误提示.这是由于在该目录下当前用户没有写权限导致,修改该文件的权限即可 报错二: weblogic11g安装成功后,启动报错Getting boot identity from user 在/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/

Java工程拆分过程中的@Override报错问题

今天新建了一个工程,这个工程主要是用于将一切的工程进行依赖拆分.因此,用的都是以前的代码,所以报了很多,@Override的错误.查了查发现是JDK选择的问题.JDK1.5中存在这个问题,因此,需要对于JDK进行调整. 调整为JDK6或者以上版本. 1.这里是报错 2.修改为1.6版本的jdk 3.调整一下运行环境 4.这样就修复了

【spring boot+mybatis】注解使用方式(无xml配置)设置自动驼峰明明转换(),IDEA中xxDao报错could not autowire的解决方法

最近使用spring boot+mybatis,使用IntelliJ IDEA开发,记录一些问题的解决方法. 1.在使用@Mapper注解方式代替XXmapper.xml配置文件,使用@Select等注解配置sql语句的情况下,如何配置数据库字段名到JavaBean实体类属性命的自动驼峰命名转换? 使用spring boot后,越来越喜欢用注解方式进行配置,代替xml配置文件方式.mybatis中也可以完全使用注解,避免使用xml方式配置mapper.(参考  springboot(六):如何优

Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法

最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See

Arcgis Javascript中geometryEngine报错’hq‘of undefined的解决方法

这个问题困扰了我一个星期,原因是使用geomagicbuffer时候,有的线可正常使用,有的就直接报错,一直没有解决,后来发现是api自己的bug导致的 干脆直接读代码,在geometryEngine第737行,有这么一句话(不同版本的额api可能会不同): if((this.Ec||1E4<u.jq&&1<u.Ci.length)......... 报错的就是这里,因为u没有判断是否存在,导致执行u.jq时候报错 按照下面修改就好啦 if((u)&&(u.jq

Android NDK报错(Eclipse)及解决方法

在AndroidNDK开发过程中,工程目录下的jni文件夹下编写的c/c++代码,通常会出现如下的几种类型的报错: 1.Unresolved inclusion:<XXX> 2.syntax error 3.Function 'XXX' could not be resolved 4.Type 'XXX' could not be resolved 5.Symbol 'XXX' could not be resolved 6.Method 'XXX' could not be resolved

mysql登录报错ERROR 1045 (28000的解决方法

问题描述: mysql -u root -p命令登录MySQL,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决办法: information_schema 库的USER_PRIVILEGES 表中 没有给 'root'@'localhost' 赋权. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' ID