ubuntu14.04 交叉编译php5 交叉编译工具arm-linux

本文能够避免交叉编译的时出现ZLIB extension requires zlib >=1.09

交叉编译libxml2和zlib,扩展arm-Linux-gcc的lib库。其中libxml2是PHP5安装必须的库文件

1.首先交叉编译zlib。

  1. CC=arm-linux-gcc  
  2. ./configure --host=arm-linux --prefix=/usr/local/zlib   /你安装的目录 
  3. make  
  4. make install
2. 接着交叉编译libxml2

  1. CC=arm-linux-gcc  
  2. ./configure --host=arm-linux --prefix=/usr/local/libxml2  /你安装的目录 
  3. make  
  4. make install
3. 交叉编译php

  1. CC=arm-linux  
  2. ./configure --host=arm-linux --prefix=/usr/local/php --disable-all --enable-sockets --with-libxml-dir=/usr/local/libxml2 --with-zlib-dir=/usr/local/zlib   /重点 需要链接到你安装的目录
  3. make  
  4. make install

4.因为arm资源紧张,我们需要精简PHP,去掉调试信息。在php/bin/执行以下命令

  1. arm-linux-strip php

  2.  arm-linux-strip php-cgi

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

6.将编译好的PHP拷贝到目标板上

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

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

最后添加一行:

AddType application/x-httpd-cgi php

8.测试

在/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";
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值