嵌入式WEB服务器移植三部曲之PHP的移植

时间:2023-01-27 18:39:01

不过,很纠结的是,这个在我的机器上面并没有成功。原因,不详。

转自:http://hi.baidu.com/%D2%BC%BF%DA%B3%BE%B0%A3/blog/item/024a7519be82e1e1c2ce7913.html

BOA+PHP+SQLite移植三部曲之PHP


第二部:PHP的移植

1、下载php-5.2.17.tar.bz2 解压到根目录下:
[root@localhost /]# tar -xjvf php-5.2.17.tar.bz2

2、编译

[root@localhost /]# cd /php-5.2.17

[root@localhost 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

[root@localhost php-5.2.17]# make

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

3、安装

[root@localhost php-5.2.17]# make install
[root@localhost php-5.2.17]# cp php.ini-dist /opt/php5/lib/php.ini

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

4、将PHP5挂载到开发板

由于开发板上存储空间有限,采取将PHP5目录挂载到开发板的方法

执行如下命令:
[root@Intel /]#mount -o soft,timeo=100,rsize=1024 192.168.0.100:/php5/ /opt/php5

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
<?php
echo "X-Powered-By: PHP/5.2.17\n";
echo "Content-type: text/html\n\n";
?>
<html>
<body>
Hello!
<?php
echo $_SERVER["QUERY_STRING"];
?>

</body>
</html>

在宿主机浏览器中打开!
输入http://192.168.0.50/test.php
显示“Hello!”,测试成功!

注意:一定要保证/var/www下所有存放的.php文件有可执行权限,不然无法访问到这些页面