1) 下载gd的各种依赖包。 但是不要下载gd本身,因为这是包含在php里的。

探索的时候也下载了 libvpx freetype,可惜最后的编译没过,就没有用上

2)编译各种(编译前记得把各种环境变量设上,这里我就直接用以前写好的cross-env.sh)

-- libvpx

xz -d libvpx-v1.3.0.tar.xz
tar -xvf libvpx-v1.3.0.tar
cd libvpx-v1.3.0
./configure --prefix=/h1root/usr/libvpx --target=armv7-linux-gcc
make && make install

-- tiff(后来没用上)

./configure --prefix=/h1root/usr/tiff --host=arm-linux 

-- libpng(花了非常多的时间调查,这两个环境变量不设的话,似乎永远找不到zlib)

export LDFLAGS="-L/h1root/usr/zlib128/lib"
export CPPFLAGS="-I /h1root/usr/zlib128/include"
./configure --prefix=/h1root/usr/libpng --host=arm-linux

-- freetype

./configure --prefix=/h1root/usr/freetype --host=arm-linux  --without-png

-- gd的单独编译应该不需要。不要下载gd


3) 编译php

千万要注意, --with-gd后不要跟任何东西。这样,就会利用php自带的gd source编译。

如果不这么做,最后连接时会产生错误。

ext/gd/gd.o: In function `zif_imageloadfont':
gd.c:(.text.zif_imageloadfont+0x1d0): undefined reference to `overflow2'
gd.c:(.text.zif_imageloadfont+0x1ec): undefined reference to `overflow2'
ext/gd/gd.o: In function `zif_imagecreatefromstring':
gd.c:(.text.zif_imagecreatefromstring+0x1b8): undefined reference to `gdGetC'
gd.c:(.text.zif_imagecreatefromstring+0x1bc): undefined reference to `gdGetC'
gd.c:(.text.zif_imagecreatefromstring+0x1c0): undefined reference to `getmbi'
gd.c:(.text.zif_imagecreatefromstring+0x1d0): undefined reference to `gdGetC'
gd.c:(.text.zif_imagecreatefromstring+0x1d4): undefined reference to `skipheader'
collect2: ld returned exit status
make[]: *** [sapi/cgi/php-cgi] Fehler
make[]: Leaving directory `/home/user/freetz/source/target-mips_gcc-4.6.4_uClibc-0.9.32.1/php-5.4.'
./configure --prefix=/h1root/usr/php --host=arm-linux --enable-libxml --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib=/h1root/usr/zlib128 --without-iconv  --with-libxml-dir=/h1root/usr/libxml2 --without-pear --without-sqlite3 --with-gd --without-pdo_sqlite --with-jpeg-dir=/h1root/usr/jpeg --with-png-dir=/h1root/usr/libpng 

4) 把编译好的程序放到运行环境执行, php --version.

一般会告诉你缺 libpng.so , libjpeg.so , 把这些连接库也考过去就可以了。

5)写个phpinfo的php,在浏览器里执行之后,就会知道php.ini具体该放哪里。 php源程序里有示例php.ini,拿过去用就行。

为arm 编译包含gd的php5的更多相关文章

  1. php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库

    php5..30环境报错Call to undefined function ImageCreate() 编译安装 gd库 发现php5..30没有加载gd库 [root@cn_vs_web04:/u ...

  2. 烂泥:centos单独编译安装gd库

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...

  3. ARM编译空间属性(转)

    原文地址:http://www.cnblogs.com/hongzg1982/articles/2205093.html 1. 程序的空间属性 一般情况下,一个程序本质上都是由 bss段.data段. ...

  4. linux又一次编译安装gd,添加freetype支持,解决验证码不显示问题,Fatal error: Call to undefined function imagettftext()

    问题: Fatal error: Call to undefined function Think\imagettftext() in /var/www/webreg/ThinkPHP/Library ...

  5. 编译包含Google Play服务App的SDK版本问题

    编译包含Google Play服务App的SDK版本问题   错误信息:No Resouce identifier found for attribute 'touchscreen BlocksFoc ...

  6. 【CentOS】php编译安装gd库

    一.准备工作 使用之前服务器按源码最小化安装完nginx.php-fpm,没有安装gd库,下面介绍下gd库的安装. gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建 ...

  7. 已安装php 编译安装 gd库拓展模块

    参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...

  8. linux编译php gd扩展

    1 安装gd的依赖包 yum -y install gd gd2 gd-devel gd2-devel zlib freetype 2 安装jpeg: wget http://www.ijg.org/ ...

  9. 自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】

    在centos6.6上安装apache2.4+php5.6+mysql5.6 关于wget的安装 将之前装系统的.iso文件挂载到光驱 由于我在/home/jinnan/下建立了一个cdrom文件夹 ...

随机推荐

  1. python , 顺序迭代合并后的list对象

    有一系列排序序列,想将它们合并后得到一个排序序列并在上面迭代遍历 heapq.merge() 函数可以帮你解决这个问题.比如: >>> import heapq >>&g ...

  2. DIV内容垂直居中

    css垂直居中属性设置vertical-align: middle对div不起作用,例如: <!DOCTYPE html> <html lang="zh-CN"& ...

  3. Linux基础命令---cut

    cut 将文件中每一行的指定内容显示到标准输出. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法         cut [ ...

  4. JavaScript位运算符 2

    按位运算符是把操作数看作一系列单独的位,而不是一个数字值.所以在这之前,不得不提到什么是“位”: 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内 ...

  5. ajax原理和XmlHttpRequest对象

    Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面.这其中最关键的一步就是从服务器获得请求数据.要清楚这 ...

  6. 计算概论(A)/基础编程练习2(8题)/1:求平均年龄

    #include<stdio.h> int main() { // 声明与初始化 , s=, age=; // 输入学生人数 scanf("%d", &n); ...

  7. linux查看是否能访问外网及拥有的公网IP

    linux查看是否能访问外网及拥有的公网IP linux查看是否能访问外网及拥有的公网IP: 1,测访问外网能力:curl -l http://www.baidu.com 2,测访问外网能力:wget ...

  8. phpstorm怎么设置每个function都用那条横线隔开

  9. 20145335郝昊《网络攻防》Exp7 网络欺诈技术防范

    20145335郝昊<网络攻防>Exp7 网络欺诈技术防范 实验内容 本次实践本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 简单应用SET工具建立冒名网站. ...

  10. 20135234mqy-——信息安全系统设计基础第十周学习总结

    ls1:显示当前目录下的文件. ls2:查看文件的详细信息(用户名,群组名,大小,创建时间,读写权限等). who:读取需要的信息到存储器,并用标准输出函数打印到屏幕上 filesize:计算文件的字 ...