首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

移栽Sqlite2+PHP5.2+apache1.3到ARM平台

2012-09-21 
移植Sqlite2+PHP5.2+apache1.3到ARM平台提醒:在整个移植的过程中注意各软件包的版本本文中Sqlite使用的是S

移植Sqlite2+PHP5.2+apache1.3到ARM平台

提醒:在整个移植的过程中注意各软件包的版本

本文中Sqlite使用的是Sqlite2.8.17.tar.gz,Apache使用的是1.3.39,PHP使用的5.2.13

一:Sqlite数据库移植

1)下载sqlite2.8.17.tar.gz,(版本号至少应该保存前两位对应)

2)把这个压缩包放到/home/chen的目录下,并且解压。再建立一个sqlite目录,作为安装目录。

3)进入到sqlite2.8.17目录下,执行如下命令

CC=arm-linux-gcc ./configure --prefix=/home/chen/sqlite --host=arm-linux

4)make        5)make install 。安装成功后,在sqlite这个目录下有三个文件夹:bin、lib、include

6)进入lib目录中,arm-linux-strip libsqlite.so.0.8.6

7)将bin目录下的sqlite拷贝到目标板的/usr/bin目录下。

8)将lib目录下的libsqlite.so.0.8.6拷贝到/usr/lib目录下。

9)登录到开发板中,进入/usr/lib目录,创建一个符号链接ln -s libsqlite.so.8.6 libsqlite.so.0

到此sqlite数据库就算是移植完毕了。在开发板上面运行sqlite看到如下画面,则sqlite安装成功

移栽Sqlite2+PHP5.2+apache1.3到ARM平台

 

二:Apache服务器移植

1)下载apache1.3.39的软件包。apache1.3.39.tar.gz,注意版本的移植性。

2)在/home/chen/目录下建立两个文件夹:arm和source

3)把软件包分别拷贝到arm与source这两个文件夹中,并使用tar -xzvf apache1.3.39.tar.gz进行解压。

4)进入/home/chen/source/apache1.3.39/src这个文件目录中。执行./Configure。生成一个Makefile文件。

5)返回到/home/chen/source/apache1.3.39这个目录中,执行./configure。再执行make。这时可能有两种情况

                                (①)成功运行出make,无需额外的操作。

                                (②)make出错,错误如下:

                                

If you don't do this, the installation will fail because of the following error:htpasswd.c:101: error: conflicting types for 'getline'/usr/include/stdio.h:651: note: previous declaration of 'getline' was heremake[2]: *** [htpasswd.o] Error 1make[2]: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support'make[1]: *** [build-support] Error 1make[1]: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41'make: *** [build] Error 2ERROR: Could not make Apache


这时打开错误提示的文件/usr/include/stdio.h,找到对应的行,把getline改成parseline(记住在编译完成所有工作时,把他修改回去。)

6)观察/home/chen/source/apache1.3.39/src/main这个目录下是否有gen_test_char和gen_uri_delims这个两个可执行文件。如果上述步骤没有遗漏,应该会出现这两个可执行文件

7)进入/home/chen/arm/apache1.3.39/src中,执行

                               1)exprort CC="arm-linux-gcc"

                              2)./Configure生成Makefile文件。会出现Syntax error:word unexpected(expecting")")这种错误。

8)修改arm/apache1.3.39/src/main目录下的Makefile文件。把

./gen_uri_delims >uri_delims.h

改为:

uri_delims.h: gen_uri_delims

       /home/chen/source/apache_1.3.39/src/main/gen_uri_delims >uri_delims.h

 

把test_char.h: gen_test_char 

./gen_test_char >test_char.h

改为:

test_char.h: gen_test_char

       /home/chen/source/apache_1.3.39/src/main/gen_test_char >test_char.h

9)进入到/home/chen/arm/apache1.3.39目录下。执行

                           (1)export CC="arm-linux-gcc"

                              (2)  ./configure ---->make------->make install

看到如下信息

+--------------------+

| You now have successfully built and installed the      |

| Apache 1.3 HTTP server. To verify that Apache actually |

| works correctly you now should first check the         |

| (initially created or preserved) configuration files   |

|                                                        |

|   /usr/local/apache/conf/httpd.conf

|                                                        |

| and then you should be able to immediately fire up     |

| Apache the first time by running:                      |

|                                                        |

|   /usr/local/apache/bin/apachectl start

|                                                        |

| Thanks for using Apache.       The Apache Group        |

|                                http://www.apache.org/  |

+--------------------+

10)进入/usr/local目录中,可以看到多了一个apache的目录,现在把这个目录打包,使用如下命令

tar -czvf apache.tar.gz apache/,在使用ftp等方式把apache解压出来,放入到开发板的/usr/local中。

11)下面须在开发板中/etc的目录中修改两个配置文件,passwd和group文件,如果没有这两个文件就自己建立;

                       文件一:passwd  (如果这个文件中已经有内容了,只需要添加缺少的项就行)

                                    root::0:0:root:/:/bin/ash

                                    nobody::65534:65533:nobody:/:/bin/ash

                             文件二:group(如果这个文件中已经有内容了,只需要添加缺少的项就行)

                                nobody::65533:

                               nogroup::65534:nobody

                               root::0:

                              users::100

三:PHP5.2.13的移植

在安装PHP之前需要进行libxml与zlib的安装。所以我们分为3部进行安装PHP,

       一:libxml的安装

            1)把libxml2-2.8.0解压到/usr/src目录中。在进入libxml2-2.8.0这个目录中去。

             2)运行   CC=arm-linux-gcc ./configure --host=arm-linux --target=arm --prefix=/opt/libxml

            3)make     再   make install

             4)把libxml2.so.2.8.0传到板子的/usr/lib中,并且建立两个符号链接名字分别为libxml2.so和libxml2.so.2

       二:zlib的安装

             1)把zlib-1.2.7解压到/usr/src目录中,在进入到zlib-1.2.7这个目录中去。

            2)运行CC=arm-linux-gcc ./configure --prefix=/opt/zlib

            3)make    再   make  install

            4)把libz.so.1.2.7传到板子的/usr/lib中,并且建立两个符号链接名字分别为libz.so和libz.so.1

       三:php的安装

          1)把php-5.2.13.tar.gz拷贝到/usr/src目录下。并且在此目录中建立一个temp文件夹。(在把php-5.2.13.tar.gz拷贝到temp文件中,这个里面主要是放PC体系结构的PHP的一个可执行文件,后面交叉编译php的时候回用到)

           2)首先进入到temp目录中,解压php,再进入/usr/src/temp/php-5.2.13目录中,直接./configure即可。

              再 make     接着make install

           3)进入到/usr/src目录,解压php,进入到/usr/src/php-5.2.13目录中。

           4)export CC=arm-linux-gcc    再  ./configure --host=arm-linux--prefix=/opt/php5 --enable-pdo --enable-sockets --with-sqlite --with-pdo-sqlite --with-zlib-dir=/opt/zlib --with-libxml-dir=/opt/libxml --without-iconv

            5)首先修改php的Makefile.在开始出添加LDFLAGS += -ldl ,这里是为了链接dlopen库然后修改main/php.h 在开始处添加#define HAVE_LIBDL 1 ,这个宏是为了交叉编译时强制使用dlopen。紧接着修改ext/standard/dl.c ,这段代码中添加#include <dlfcn.h> ,这个是dlopen的头文件。如下

               

    install-pear-installer: $(SAPI_CLI_PATH)@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}


    改为如下

    install-pear-installer: $(SAPI_CLI_PATH)/usr/src/temp/php-5.2.13/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
                  7)make     再   make install

                   8)把当前目录下的php.ini-dist拷贝到/opt/php5/lib中去。

                    9)进入/opt中,把其中的php5这个文件夹传递到/usr/local中去。

    在进行上诉步骤后即可移植成功。以上作为参考,我会把编译成功的打包上传到资源中。如下链接

    apache:http://download.csdn.net/detail/cangencong/4553164

    php:http://download.csdn.net/detail/cangencong/4553169

    sqlite2:http://download.csdn.net/detail/cangencong/4553173

    zlib:http://download.csdn.net/detail/cangencong/4553175

    libxml:http://download.csdn.net/detail/cangencong/4553177




                       


               






     

热点排行