问题:在嵌入式linux 已经安装好的php的情景下,需要安装一个扩展库libiconv
背景:从后台传的数据含有中文(gbk2312)的通过json_encode 显示为null,查阅资料发现json_encode只能转换utf-8的数据,解决办法两种:1.安装libiconv库 2.通过php urlencode 加密,在通过urldecode解码
解决办法1:

	1>.下载libiconv 包 http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
2>.解压,放在php-5.4.30 ext 中
cd php-5.4.30/ext
tar zxvf libiconv-1.14.tar.gz
3>.安装
./configure --prefix=/usr/local/libiconv --enable-static --disable-shared --host=$host
make
make install
安装成功后会生成4个文件夹
bin include lib share
注意在 lib目录下生成.a 如下图
         


    

	4>.编译php 加上iconv的路径
./configure --prefix=/usr/local/php5.4.30 --with-iconv=/usr/local/libiconv/

编译成功就可以使用了:
* 在编译libiconv加上host 总是报如下的问题:

1>.
/usr/local/ARMv7a9_iproc/usr/bin/../lib/gcc/arm-broadcom-linux-uclibcgnueabi/4.7.2/../../../../arm-broadcom-linux-uclibcgnueabi/bin/ld: iconv.o: Relocations in generic ELF (EM: 3)
/usr/local/ARMv7a9_iproc/usr/bin/../lib/gcc/arm-broadcom-linux-uclibcgnueabi/4.7.2/../../../../arm-broadcom-linux-uclibcgnueabi/bin/ld: iconv.o: Relocations in generic ELF (EM: 3)
/usr/local/ARMv7a9_iproc/usr/bin/../lib/gcc/arm-broadcom-linux-uclibcgnueabi/4.7.2/../../../../arm-broadcom-linux-uclibcgnueabi/bin/ld: iconv.o: Relocations in generic ELF (EM: 3)
/usr/local/ARMv7a9_iproc/usr/bin/../lib/gcc/arm-broadcom-linux-uclibcgnueabi/4.7.2/../../../../arm-broadcom-linux-uclibcgnueabi/bin/ld: iconv.o: Relocations in generic ELF (EM: 3)
iconv.o: could not read symbols: File in wrong format
collect2: error: ld returned 1 exit status
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/yilia/3.61_tmp/ESW/apps/php-5.4.30/ext/libiconv-1.14/src'
make: *** [install] Error 2

  

在libicon 源码的地方 进入libiconv-1.14 执行 make distclean 清理一下,删掉生成libiconv,在重新编译就可以了。

2>.在安装好iconv,编译php的时候总是报如下错误,

原因:1.php中--with-iconv的路径写的不对
2.在编译php的时候需要重新编译libiconv。

#解决办法2比较简单就不在说了。

常用知识总结:
*用到的基础命令:
$?:命令执行后返回的状态
$#:位置参数的数量
$*:所有位置参数的内容
*数值测试
-eq:等于则为真
-ne:不等于则为真
-gt:大于则为真
-lt:小于则为真
-le:小于等于则为真
* 文件测试
-e 文件名:如果文件存在则为真
-r 文件名:如果文件存在且可读则为真
-w 文件名: 如果文件存在且可写则为真
-x 文件名: 如果文件存在且可执行则为真
-d 文件名: 如果文件存在且为目录则为真
-f 文件名: 如果文件存在且为普通文件则为真

*$CROSS_COMPILE"strip" -S $ROOTFS_DIR/usr/bin/ros
编译出来的过滤很多打印 调试 压缩
$CROSS_COMPILE :export CROSS_COMPILE="$CC_TOOL arm-broadcom-linux-uclibcgnueabi-"

linux php 安装libiconv过程与总结的更多相关文章

  1. Linux下安装libiconv使php支持iconv函数

    libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...

  2. 在Linux下安装PHP过程中,编译时出现错误的解决办法

    在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...

  3. FFmpeg在Linux下安装编译过程

    转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759 今天介绍下FFmpeg在Linux下 ...

  4. 1.Linux中安装LNMP过程

    第一步安装mysql过程 安装包mysql-5.0.22.tar.gz,解压tar -zxvf  mysql-5.0.22.tar.gz cd mysql-5.0.22 进行源码安装./configu ...

  5. minicom在虚拟机(linux)安装配置过程

    1. minicom须要ncurses库的支持.否则安装会有问题. A. 下载ncurses.我选择是ncurses-5.6.tar.gz 下载地址:http://directory.fsf.org/ ...

  6. linux下安装QT过程

    说QT是linux下主要的图形开发工具一点都不过分,虽然诺基亚公司放弃Meego.遣散了Qt开发团队,但是它的各种商业.企业版本还是的到了很好的保护,linux下的开发工具集里还是经常看到它的身影,毕 ...

  7. linux上安装jenkins过程

    最近在学到jenkins分布式构建时,需要一台部署jenkins的主机服务器master,自己用的win10作为slave,所以我想在虚拟机上先部署jenkins. centos还是ubuntu呢,算 ...

  8. linux下安装memcached过程

    前一次已经安装过memcached,没有做记录,太久没有操作了也没有记录有点生疏,做一下笔记,已背后用. 下载文件                            下载memcached服务端, ...

  9. linux手动安装sbt过程

    ubuntu14 手动安装sbt 参见官网配置说明http://www.scala-sbt.org/release/tutorial/Manual-Installation.html 1.下载sbt通 ...

随机推荐

  1. 【Linux_Shell 脚本编程学习笔记四、监控系统内存并报警企业案例脚本】

    前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ co ...

  2. miRNA|housekeeping|RNAi|siRNA|Oncomirs|miRBase|PMRD|TargetScan|miRDeep|miRNA target|seed regions|

    生物信息学-miRNA 转录组的分类: Noncoding RNA可分为负责Regulatory和housekeeping,housekeeping就是组织日常功能miRNA便是Regulatory ...

  3. valgrind 的使用简介

    zz自 http://blog.csdn.net/destina/article/details/6198443  感谢作者的分享! 一  valgrind是什么? Valgrind是一套Linux下 ...

  4. 向MyEclipse的项目中导入js文件时,出现小红叉

    这个问题困扰我很久.刚开始时,也没有解决,因此也在网上寻找解决方法,还是没能解决.最近做项目时再一次出现了这样的问题,于是决定还是再找找办法.在此,分享一下自己的解决方法,给正处于痛苦中的童鞋们带来解 ...

  5. <SCOI2005>互不侵犯の思路

    日常玄学dp #include<cstdio> #include<cstring> #include<iostream> #include<algorithm ...

  6. php捕获致命错误

    php捕获致命错误 记录php错误日志可以有力的帮我们查找问题.修复bug,php提供了set_error_handler.set_exception_handler来捕获错误和异常.但是set_er ...

  7. JQuery之选择器篇(一)

      今天回顾了之前学习的JQuery选择器,现在简单的总结一下. JQuery选择器类型   主要分为四类 基本选择器 层级选择器 过滤选择器 表单选择器 基本选择器   基本选择器是jQuery中最 ...

  8. git基本命令(二)

    忽略文件      git可以将用户指定的文件或者目录排除在版本之外,它会检查代码仓库目录下是否存在名为.gitignore文件,如果存在就会一行一行读取这个文件的内容,会将每一行指定的文件或目录排除 ...

  9. 微软发布MS MARCO数据集,提高计算机阅读理解能力

    ​ MARCO数据集,提高计算机阅读理解能力" title="微软发布MS MARCO数据集,提高计算机阅读理解能力"> ​ 本文译自:Microsoft data ...

  10. C++扬帆远航——7(年月日)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:charizi.cpp * 作者:常轩 * 完成日期:2016年 ...