php sapi globals,PhP 常见安装错误

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor’:

/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1[root@test php-5.2.13]# vi Makefile

在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open’」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ….. -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ….. -lcrypt -liconv 然后重新再次 make 即可。

或者用另一种办法

make ZEND_EXTRA_LIBS=’-liconv’

ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/

注:加上 -liconv,需要确认已安装libiconv

libiconv安装

http://www.gnu.org/software/libiconv/

# tar -zxvf  libiconv-1.9.2.tar.gz

# cd libiconv-1.9.2

# ./configure –prefix=/usr/local

# make

# make install

# make clean

再次安装 PHP时又报错

ext/standard/info.o: In function `php_info_print_request_uri’:

/root/php-5.4.16/ext/standard/info.c:97: undefined reference to `sapi_globals’

ext/standard/info.o: In function `php_print_gpcse_array’:

/root/php-5.4.16/ext/standard/info.c:209: undefined reference to `executor_globals’

ext/standard/info.o: In function `php_print_info’:

/root/php-5.4.16/ext/standard/info.c:874: undefined reference to `executor_globals’

/root/php-5.4.16/ext/standard/info.c:877: undefined reference to `executor_globals’

/root/php-5.4.16/ext/standard/info.c:880: undefined reference to `executor_globals’

/root/php-5.4.16/ext/standard/info.c:883: undefined reference to `executor_globals’

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] 错误 1

出现这样的错误信息可能是以前用不同的参数编译过PHP。

解决方法:执行make clean删除上次的编译结果,然后再重新编译就OK了。

make ZEND_EXTRA_LIBS=’-liconv’ /libxmlrpc/encoding.c:101:undefined reference to 'libiconv_close'

collect2: ld returned 1 exit status

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

解决方法:

#make ZEND_EXTRA_LIBS='-liconv'

错误一、编译php出错

/php-5.3.2/ext/fileinfo/libmagic/apprentice.c:147:internal compiler error:Segmentation fault

Please submit a full bug report,

with preprocessed source if appropriate.

See for instructions.

The bug is not reproducible,so it is likely a hardware or OS problem.

make:*** [ext/fileinfo/libmagic/apprentice.lo] Error 1

解决方法:内存大于1G即可,这是php5.3.2的一个bug

--------------------------------------------------------------------

错误二、重新构造configure文件出错

./buildconf --force

Forcing buildconf

buildconf:checking installation…

buildconf:autoconf version 2.59 (ok)

buildconf:Your version of autoconf likely contains buggy cache code.

Running vcsclean for you.

To avoid this,install autoconf-2.13.

Can't figure out your VCS, not cleaning.

解决方法:编译安装autoconf-2.13

再将autoconf-2.13的auotconf文件至/usr/local/autoconf

--------------------------------------------------------------------

错误三、编译时缺少库

configure: error: libXpm.(a|so) not found.

解决方法:yum install libXpm-devel

--------------------------------------------------------------------

错误四、编译时缺少gmp.h文件

configure: error: Unable to locate gmp.h

解决方法:yum install gmp-devel

--------------------------------------------------------------------

错误五

Configure: error: xml2-config not found. Please check your libxml2 installation.

解决方法:

#yum install libxml2 libxml2-devel (For Redhat & Fedora)

# aptitude install libxml2-dev      (For ubuntu)

--------------------------------------------------------------------

错误六

Checking for pkg-config… /usr/bin/pkg-config

configure: error: Cannot find OpenSSL’s

解决方法:

#yum install openssl openssl-devel

--------------------------------------------------------------------

错误七

Configure: error: Please reinstall the BZip2 distribution

解决方法:

# yum install bzip2 bzip2-devel

--------------------------------------------------------------------

错误八

Configure: error: Please reinstall the libcurl distribution -

easy.h should be in /include/curl/

解决方法:

# yum install curl curl-devel   (For Redhat & Fedora)

# install libcurl4-gnutls-dev    (For Ubuntu)

--------------------------------------------------------------------

错误九:

Configure: error: libjpeg.(also) not found.

解决方法:

# yum install libjpeg libjpeg-devel

--------------------------------------------------------------------

错误十

Configure: error: libpng.(also) not found.

--------------------------------------------------------------------

解决方法:

# yum install libpng libpng-devel

--------------------------------------------------------------------

错误十一

Configure: error: freetype.h not found.

解决方法:

#yum install freetype-devel

--------------------------------------------------------------------

错误十二

Configure: error: Unable to locate gmp.h

解决方法:

# yum install gmp-devel

--------------------------------------------------------------------

错误十三

Configure: error: Cannot find MySQL header files under /usr.

Note that the MySQL client library is not bundled anymore!

解决方法:

# yum install mysql-devel            (For Redhat & Fedora)

# apt-get install libmysql++-dev      (For Ubuntu)

--------------------------------------------------------------------

错误十四

Configure: error: Please reinstall the ncurses distribution

解决方法:

# yum install ncurses ncurses-devel

--------------------------------------------------------------------

错误十五

Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!

解决方法:

# yum install unixODBC-devel

--------------------------------------------------------------------

错误十六

Configure: error: Cannot find pspell

解决方法:

# yum install pspell-devel

--------------------------------------------------------------------

错误十七

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决方法:

# yum install libmcrypt libmcrypt-devel    (For Redhat & Fedora)

# apt-get install libmcrypt-dev

--------------------------------------------------------------------

错误十八

Configure: error: snmp.h not found. Check your SNMP installation.

解决方法:

# yum install net-snmp net-snmp-devel

--------------------------------------------------------------------

错误十九

configure:error:Cannot find ldap.h

解决方法:

#yum install openldap-devel openldap

错误二十

configure:error:xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

解决方法:

#yum install libxslt libxslt-devel

错误二十一

checking for libevent >=1.4.11 install prefix… configure: error: Could not find libevent >=1.4.11 in /usr/local/php

解决方法:

安装libevent-1.4.11以上版本至/usr/local

tar xzvf libevent-1.4.14-stable.tar.gz

cd libevent-1.4.14-stable

./configure --prefix=/usr/local

make&&make install

在编译。/configure时添加--with-libevent-dir=/usr/local即可

错误二十二

cc1: out of memory allocating 2036 bytes after a total of 81846272 bytes

make: *** [ext/date/lib/parse_date.lo] Error 1

报错:

/usr/bin/ld: cannot find -lltdl

collect2: ld returned 1 exit status

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

解决方法:

安装ltdl

#cd /libmcrypt-2.5.7/libltdl/

#./configure --enable-ltdl-install

#ldconfig

#cd php-5.3.6

#make ZEND_EXTRA_LIBS='-liconv'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值