arm+linux+apache+php+sqlite
### ARM Linux 上 Apache + PHP5 + SQLite 移植方法详解 #### 一、概述 本文主要介绍如何在基于ARM架构的Linux系统上移植并配置Apache 2.27、PHP5.33以及SQLite3。这是一套常用的技术栈,用于在嵌入式设备上搭建Web服务器环境。通过以下步骤,您将能够成功地在ARM平台上运行这套技术栈。 #### 二、移植所需组件 1. **Apache 2.27** - 版本:2.27 - 配置工具:apr-1.4.2 - 配置工具:apr-util-1.3.10 2. **PHP5.33** - 版本:5.33 3. **SQLite3** - 版本:3.x #### 三、移植步骤 **1. APR (Apache Portable Runtime)** - **版本**:1.4.2 - **配置命令**: ``` ./configure --prefix=/usr/lamp --host=arm-none-linux-gnueabi \ ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ apr_cv_tcp_nodelay_with_cork=yes apr_cv_mutex_recursive=yes \ apr_cv_mutex_robust_shared=no ac_cv_sizeof_struct_iovec=8 make && make install ``` **2. APR-Util** - **版本**:1.3.10 - **配置命令**: ``` ./configure --prefix=/usr/lamp --host=arm-none-linux-gnueabi \ ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ apr_cv_tcp_nodelay_with_cork=yes apr_cv_mutex_recursive=yes \ apr_cv_mutex_robust_shared=no ac_cv_sizeof_struct_iovec=8 \ --with-apr=/usr/lamp make && make install ``` **3. PCRE (Perl Compatible Regular Expressions)** - **版本**:8.10 - **配置命令**: ``` ./configure --prefix=/usr/lamp --host=arm-none-linux-gnueabi \ ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ apr_cv_tcp_nodelay_with_cork=yes apr_cv_mutex_recursive=yes \ apr_cv_mutex_robust_shared=no ac_cv_sizeof_struct_iovec=8 make && make install ``` **4. Apache HTTP Server** - **版本**:2.2.17 - **配置命令**: ``` ./configure --prefix=/usr/lamp --host=arm-none-linux-gnueabi \ --with-apr=/usr/lamp --with-apr-util=/usr/lamp --with-pcre=/usr/lamp \ ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ apr_cv_mutex_robust_shared=no apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 apr_cv_mutex_recursive=yes \ ap_cv_void_ptr_lt_long=no --enable-so make && make install ``` - **注意事项**: - 在现有的Apache服务器上可能不支持PHP5扩展。如果尝试在httpd.conf中添加`LoadModule php5_module modules/libphp5.so`,可能会遇到错误提示:“Syntax error on line 233 of /usr/conf/httpd.conf: API module structure `php5_module` in file /usr/modules/libphp5.so is garbled—perhaps this is not an Apache module DSO?”。 - 为了避免这个问题,需要重新编译Apache服务器,并确保所有必要的库文件(如libpcre.so.0、libaprutil-1.so.0、libexpat.so.0、libapr-1.so.0)都放置在目标路径中,例如`/usr/lamp/lib`。在实际部署时,建议将这些库文件放置在`/usr/lib`中,以便于链接。 **5. PHP5** - **配置**: - 确保PHP5与Apache适配。在Apache配置过程中,通过`--with-php`参数指定PHP的位置。 - 配置完成后,需要在Apache的配置文件(如httpd.conf)中添加对PHP的支持模块。 - 示例命令:`LoadModule php5_module modules/libphp5.so`。 **6. SQLite3** - **配置与安装**: - SQLite3的安装相对简单,可以直接使用包管理器进行安装。 - 如果需要从源码编译,可以参考官方文档进行操作。 - 确保PHP5安装了相应的SQLite3扩展,以便于PHP应用能够访问SQLite数据库。 #### 四、总结 通过以上步骤,您可以在基于ARM架构的Linux系统上成功地部署Apache、PHP5以及SQLite3,从而构建一个完整的Web服务环境。需要注意的是,在实际部署过程中,可能还会遇到各种各样的问题,比如依赖库的问题、权限问题等。建议在遇到具体问题时,查阅相关文档或社区讨论,以获得更详尽的解决方案。
- zwfyazl2014-03-13现在用anmp了 这个就不要用了 android nginx mysql php
- xingxinglili2014-06-05对于加多个openssl好像用不了
- taosha6052012-09-18没有sqlite部分的说明,其余的还可以
- X-Programer2012-12-02好像资料有点过时
- bailiju2013-03-17过于简要了,资料还有点过时。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助