64位 CentOS 6.3 系统安装 php 5.3.16 libiconv 报错
2013-03-07 08:50
489 查看
64位 CentOS 6.3 系统安装 php 5.3.16 libiconv 报错
2012-11-27 11:55:44之前服务器上 php 是 5.2.14, 发现编译带的不少没用的东西, 开启 soap 缓存结果还出过问题. 于是升级下.
编译参数: './configure' '--prefix=/usr/local/php-5.3.16' '--with-libdir=lib64' '--with-config-file-path=/usr/local/php-5.3.16/etc' '--with-mysql' '--enable-fpm' '--with-openssl' '--with-zlib' '--with-curl' '--enable-mbstring' '--with-iconv-dir=/usr/local'
iconv 是之前安装过的 libiconv, 在 /usr/local/bin 目录.
一开始, 是在生成 php-fpm 时, 报一堆的 php-5.3.16/ext/iconv/iconv.c:337:
undefined reference to `libiconv'
然后Google 搜到一篇文章, 错误完全一样: undefined reference to `libiconv_open’ PHP 5.3.8 解决方法
改成 make ZEND_EXTRA_LIBS='-liconv' 编译.
于是生成 php-fpm OK 了, 但是! 后面生成的 php-5.3.16/sapi/cli/php 又有问题:
Generating phar.php
php-5.3.16/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
编译 php 没错, 运行时找不到 so.
于是尝试静态编译, 参考 http://www.linuxquestions.org/questions/linux-newbie-8/statically-compile-php-not-possible-then-860677/ 修改Makefile, 把 -export-dynamic 替换成 -all-static , 还是不行.
然后继续观察 php cli 的编译参数, 发现两个 "-L/usr/lib6464 -R /usr/lib6464" , 看来是 configure 脚本有问题, 64位系统中, 构造的 lib 路径错了.
手动加参数:
make ZEND_EXTRA_LIBS='-liconv -L/usr/local/lib'
成功...
相关文章推荐
- 64位centOS6.3安装yum时系统报错,centOS6.3到centOS7原理相同办法解决
- CentOS 64位系统下 PHP 5.3.3 启动 php-fpm 功能的安装
- (实用)拿到一个新的阿里云64位centOS系统后,手把手教你编译安装PHP生产环境(lnmp)
- 现有php环境下安装memcached并测试(centos6.4系统64位)
- CentOS6.4 64位系统下安装 php5.2.17 + apache2.2+mysql5.5
- centos 6.3 64位安装php5.5及配置tengine
- 在centos 6.3 64位系统上安装broadcom网卡驱动
- 阿里云64位centos6.3系统上编译安装redis
- centos6.3-64位搭建LAMP环境之安装php5.5.7
- centos7.0 64位系统 安装PHP 支持 nginx
- centos 64位系统 动态安装php的gd库
- CentOS6.0(64位)下Apache+PHP+Mysq+zabbix2.4.1安装
- Centos6.5_64位系统下安装Oracle 11g
- 64位系统下一键安装apache+php服务
- CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
- CentOS系统如何安装Nginx+PHP+MySQL
- CentOS 6.0 系统 LAMP(Apache+MySQL+PHP)安装步骤
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 php
- 万网云翔主机centos系统下为PHP安装扩展memcache
- windows7 64位系统安装VMware Centos 64位系统搭建开发环境