BOA的移植不存在太大問題,就很少說了,須要在網上找一下,卻是在移植PHP時存在較多問題,下面把成功的過程說一下。php
PHP用的是5.2.17沒有用最新的,最新的編譯有點問題,用的前一個穩定版本。html
一、下載php-5.2.17.tar.bz2linux
二、解壓到/vptempsql
#tar -jxv -f php-5.2.17.tar.bz2 -C /vptemp瀏覽器
三、編譯app
# cd /vptemp/php-5.2.17ide
#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也徹底不對,氣死了。重啓機子又折騰了半天,居然不知道怎麼弄的又能夠起做用了。命令行
#makesqlite
make的時候出現:undefined reference to dlopen、undefined reference to dlclose,解決方法:在makefile中EXTRA_LIBS以後加上-ldl
四、安裝
#make install
將PHP源碼包中php.ini-dist文件複製到/opt/php5/lib下並更名爲php.ini,由於指定了prefix,PHP缺省會去/opt/php5/lib下找php.ini
五、下載到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
六、配置BOA
要讓BOA可以經過CGI執行PHP,修改/etc/boa/boa.conf,修改
CGIPath爲:CGIPath /bin:/opt/php5/bin
最後添加一行:
AddType application/x-httpd-cgi php
七、測試
在/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>
在瀏覽器中能夠打開!
注意:
按上述弄好之後,在命令行下執行php-cgi徹底正常,但寫成腳本就是不行,最後發現只能用php,即腳本最前面一行必須是:
#!/opt/php5/bin/php
而不能是
#!/opt/php5/bin/php-cgi
那麼每一個文件最前面必須用下面幾行返回必須的文件頭了:
<?php
echo "X-Powered-By: PHP/5.2.17\n";
echo "Content-type: text/html\n\n";
?>
原本這個能夠由php-cgi完成就能夠了,可是如今必須本身作一下了。
這能夠我通過半下午才總結出來的呀,不知道什麼地方的毛病呢!