上篇博客移植的Php4.4.8+sqlite3+apache放到板子上后各项功能单独运行还好,没有什么问题,但是我需要的是他们可以协同工作,动态的调用,在php动态调用sqlite时发现了不能调用这个问题,这两天着手解决这个问题。查资料发现,php5以后的版本支持sqlite2,如果想支持sqlite3,必须要有个pdo-sqlite这个东西,具体是什么意思,大家可以google之。于是,我准备重新移植Php,并把版本升级到php-5.2.9.具体过程简略如下:
1,首先交叉编译zlib-1.2.5
#CC=arm-linux-gcc ./configure --sahred –prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/
#make
#make install
2,继续编译libxml2
#CC=arm-linux-gcc ./configure --host=arm-linux –prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/
#make
#make install
3交叉编译php-5.2.9
#CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/php --enable-pdo --with-sqlite –with- pdo-sqlite --with-zlib=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/ --without-iconv
#make
#make install
install时会提示sapi/cli/php不可执行,这是肯定的,因为make后生成的是arm版的php,在本地执行不了,这时利用上篇博客的方法在相应的地方修改路径,或者将arm版的php备份成php-backup,再将本地编译好的php拷贝到sapi/cli/下,再make install,就可已安装成功了
最后将php-backup拷贝到/usr/local/php/bin/下,覆盖原来的php,再将php.ini-dist拷贝到/usr/local/php/lib/下,并改名为php.ini
4,因为目前的/php/文件过大,貌似20+M吧,放到板子上太占空间,所以strip下,什么意思google之。
#Arm-linux-strip /usr/local/php/bin/php
#Arm-linux-strip /usr/local/php/bin/php-cgi
再看/php的大小,变小了吧?:-)
5,将整个/usr/local/php/文件拷贝到板子上
6,最后修改apache的配置文件httpd.conf,本文是基于上篇博客写的,由于只动了php,所以修改部分是针对上篇而言,请大家注意!
scriptalias /php4/ “/usr/local/php/bin/”改为:
scriptalias /php5/ “/usr/local/php/bin/”
Action application/x-httpd-php "/php4/php-cgi" 改为:
Action application/x-httpd-php "/php5/php-cgi"
写个phpinfo测试页面测试下吧,应该可以的,如果有问题,仔细看看哪里错了。。
要想php能动态使用sqlite3,还需要做些工作
1,下载php-sqlite3的压缩包,解压
2,进入该目录,
#/usr/local/php/bin/phpize
3,#CC=arm-linux-gcc ./configure –with-php-config=/usr/local/php/bin/php-config –with-sqlite3=/usr/local/sqlite
4,#make&&make install
5,把生成的sqlite3.so放到板子上/usr/local/php/lib下
6,修改php.ini 增加如下语句:
extenstion=sqlite3.so
OK!!!!!!
阅读(4103) | 评论(0) | 转发(0) |