Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6683818
  • 博文数量: 1159
  • 博客积分: 12444
  • 博客等级: 上将
  • 技术积分: 12570
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-13 21:34
文章分类

全部博文(1159)

文章存档

2016年(126)

2015年(350)

2014年(56)

2013年(91)

2012年(182)

2011年(193)

2010年(138)

2009年(23)

分类: 嵌入式

2011-10-25 16:52:14

二、PHP

BOA+PHP在Tiny6410上的移植


BOA的移植不存在太大问题,就不多说了,需要在网上找一下,倒是在移植PHP时存在较多问题,下面把成功的过程说一下。

PHP用的是5.2.17没有用最新的,最新的编译有点问题,用的前一个稳定版本。

1、下载php-5.2.17.tar.bz2

2、解压到/vptemp

#tar -jxv -f php-5.2.17.tar.bz2 -C /vptemp

3、编译

# cd /vptemp/php-5.2.17

#CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/opt/php5 --disable-all --enable-pdo --with-sqlite3 --with-sqlite --with-pdo-sqlite --with-zlib --without-iconv

在做这个配置的时候出点问题,不知道为什么CC=arm-linux-gcc就是不对,配置出来的Makefile里面还是gcc,libtool也完全不对,气死了。重启机子又折腾了半天,竟然不知道怎么弄的又可以起作用了。

#make

make的时候出现:undefined reference to dlopen、undefined reference to dlclose,解决方法:在makefile中EXTRA_LIBS之后加上-ldl

4、安装

#make install

将PHP源码包中php.ini-dist文件复制到/opt/php5/lib下并改名为php.ini,因为指定了prefix,PHP缺省会去/opt/php5/lib下找php.ini

5、下载到Tiny6410

#cd /opt

#tar -jcv -f php5-e.tar.bz2 php5

将/opt/php5-e.tar.bz2文件件拷贝到arm板上的/opt目录下,解压:

#tar -jxv -f php5-e.tar.bz2 -C /opt

6、配置BOA

要让BOA能够通过CGI执行PHP,修改/etc/boa/boa.conf,修改

CGIPath为:CGIPath /bin:/opt/php5/bin

最后添加一行:

AddType application/x-httpd-cgi php

7、测试

在/www建立test.php

#!/opt/php5/bin/php
echo "X-Powered-By: PHP/5.2.17\n";
echo "Content-type: text/html\n\n";
?>


Hello!
echo $_SERVER["QUERY_STRING"];
?>




在浏览器中可以打开!



注意:

按上述弄好以后,在命令行下执行php-cgi完全正常,但写成脚本就是不行,最后发现只能用php,即脚本最前面一行必须是:

#!/opt/php5/bin/php

而不能是

#!/opt/php5/bin/php-cgi

那么每个文件最前面必须用下面几行返回必须的文件头了:

echo "X-Powered-By: PHP/5.2.17\n";
echo "Content-type: text/html\n\n";
?>

本来这个可以由php-cgi完成就可以了,但是现在必须自己做一下了。

这可以我经过半下午才总结出来的呀,不知道什么地方的毛病呢!
阅读(6155) | 评论(0) | 转发(1) |
0

上一篇:BOA+PHP+SQLite之BOA

下一篇:BOA+PHP+SQLite之SQLite

给主人留下些什么吧!~~