移植nginx+php+sqlite到arm linux(二)
来源:互联网 发布:手机电话变音软件 编辑:程序博客网 时间:2024/06/05 07:08
1.概述:
本篇文章继上一篇继续讲解nginx+php+sqlite到ARM Linux平台的移植和验证。
2.交叉编译依赖库
2.1交叉编译zlib
下载地址:http://download.csdn.net/detail/b404587/3750737
1.tar -xvzf zlib-1.2.3.tar.gz
2.chmod -Rf 777 zlib-1.2.3
3.cd zlib-1.2.3
4../configure –shared –prefix=/home/armzlib
5.修改Makefile文件
CC=gcc 改为 CC=arm-none-linux-gnueabi-gcc
LDSHARED=gcc -shared -Wl,-soname,libz.so.1 改为 LDSHARED=arm-none-linux-gnueabi-gcc -shared -Wl,-soname,libz.so.1
CPP=gcc -E 改为 CPP=arm-none-linux-gnueabi-gcc -E
AR=ar rc 改为 AR=arm-none-linux-gnueabi-ar rc
RANLIB=ranlib 改为 RANLIB=arm-none-linux-gnueabi-ranlib
6.make
7.make install
8.编译好的库和头文件在/home/armzlib中
2.2交叉编译libxml2
下载地址:https://sourceforge.net/projects/gnuwin32/files/zlib/1.2.3/
1.tar -xvzf libxml2-2.6.30.tar.gz
2.chmod -Rf 777 libxml2-2.6.30
3.cd libxml2-2.6.30
4../configure –host=arm-none-linux-gnueabi –prefix=/home/armlibxml2
5.make
6.make install
7.编译好的库和头文件在/home/armlibxml2中
2.3交叉编译libiconv
下载地址:http://ftp.gnu.org/pub/gnu/libiconv/
1.tar -xvzf libiconv-1.14.tar.gz
2.chmod -Rf 777 libiconv-1.14
3../configure –host=arm-none-linux-gnueabi –prefix=/home/armlibiconv
4.make
5.make install
6.编译好的库和头文件在/home/armlibiconv中
3.交叉编译PHP
下载地址:http://mirrors.sohu.com/php/
PC端交叉编译版本的路径最好与之后解压到网关中的路径相同,这样可以减少路径问题带来的麻烦。比如./configure –prefix=/xxx/armphp 之后armphp也要解压到网关的/home下
1.cp php-5.4.27.tar.gz /home
2.cd /home
3.tar -xvzf php-5.4.27.tar.gz
4.chmod -Rf 777 php-5.4.27
5.cd php-5.4.27
6../configure –host=arm-none-linux-gnueabi –prefix=/home/armphp –enable-shared –enable-fpm –with-fpm-user=root –with-fpm-group=root –with-zlib-dir=/home/armzlib –with-libxml-dir=/home/armlibxml2 –with-iconv-dir=/home/armlibiconv –disable-phar
此处特殊说明下:
我们可以./configure -h来查看php configure help,此处有配置参数说明
发现sqlite和pdosqlite只有without选项,说明如果不特殊指定without这2个参数,这两项是默认安装的。
Nginx默认不支持CGI模式,它是以FastCGI方式运行的。所以使用Nginx+PHP就是直接配置为FastCGI模式(php-fpm)
这里都选择了依赖库的安装目录,如果还需要其他依赖库需要提前编译好,再指定路径。
7.1修改Makefile
CFLAGS_CLEAN = -I/usr/include -g -O2 -fvisibility=hidden 修改为 CFLAGS_CLEAN = -I[交叉编译工具的头文件路径] -g -O2 -fvisibility=hidden
7.2删除掉“install-pear:”下全部内容
8.make
9.make install
10.编译好的php相关库和文件在中/home/armphp中,
cp /home/php-5.4.27/php.ini-production /home/armphp/etc/php.ini
11.将/home/armphp压缩,zip -ry /home/armphp.zip armphp/
以下操作在ARM网关中完成
12.将php依赖的动态库armzlib,armlibxml2 ,armlibiconv移动到开发板中(注意软连接的保持)。
13.在开发板中/home下解压armphp.zip
14配置php
14.1修改php.ini
cgi.fix_pathinfo=1修改为cgi.fix_pathinfo=0
14.2修改php-fpm.conf
mv /home/armphp/etc/php-fpm.conf.default /home/armphp/etc/php-fpm.conf
15.执行php-fpm:
php-fpm -R
成功启动说明php移植成功。
16.修改nginx.conf配置(此步骤省略)
4.运行截图
4.1
<?php phpinfo();?>
4.2sqlite方面验证
代码参考
http://www.runoob.com/sqlite/sqlite-php.html
验证结果显示sqlite相关接口移植成功!这里不放截图了。
- 移植nginx+php+sqlite到arm linux(二)
- 移植nginx+php+sqlite到arm linux(一)
- 移植 Nginx+PHP(FastCGI) 到 ARM Linux (二)
- 移植 Nginx+PHP(FastCGI) 到 ARM Linux (一)
- 移植 Nginx+PHP(FastCGI) 到 ARM Linux (三)
- sqlite移植到arm(二)
- SQLite移植到arm
- lighttpd+php(fastcgi) 移植到arm-linux
- 移植Sqlite到ARM板
- sqlite移植到arm(一)
- 将SQLite移植到ARM上
- 移植SQLite到ARM开发板
- 将SQLite移植到ARM上
- 将SQLite移植到ARM板上
- 在ARM-Linux平台上移植SQLite
- 在ARM-Linux平台上移植SQLite
- SQLite向arm-linux的移植
- SQLite向arm-linux的移植
- Java 中的TreeMap
- Android自定义滚轮式日期(时间)选择控件
- java 访问集合元素的方法
- 应聘——总Plan
- Tomcat负载均衡和集群环境的搭建
- 移植nginx+php+sqlite到arm linux(二)
- 在线重定义/*+ BYPASS_RECURSIVE_CHECK APPEND SKIP_UNQ_UNUSABLE_IDX */
- HttpServletResponse的设置
- Java初学者必须知道的11条基础知识
- 时间和时间戳
- Android TextView的垂直滚动效果
- 反转与意料之外
- 日志分析 mapreduce sogou
- 关于浮动与清除浮动