php 交叉编译apache_apache交叉编译 - CSDN
精华内容
参与话题
  • 移植apache2 ARM版 - 交叉编译apache2

    千次阅读 2013-11-08 15:47:31
    下载apache2 http://apache.fayea.com/apache-mirror//httpd/httpd-2.4.6.tar.bz2 1. tar jxvf httpd-2.4.6.tar.bz2 2. cd httpd-2.4.6 3. ./configure --host=arm-linux --prefix=/usr/local/arm/4.4.3 --with...

    下载apache2 http://apache.fayea.com/apache-mirror//httpd/httpd-2.4.6.tar.bz2

    1. tar jxvf httpd-2.4.6.tar.bz2

    2. cd httpd-2.4.6

    3. ./configure --host=arm-linux --prefix=/usr/local/arm/4.4.3 --with-apu=/usr/local/arm/4.4.3/ --with-apr-util=/usr/local/arm/4.4.3 --with-pcre=/usr/local/arm/4.4.3/ ap_cv_void_ptr_lt_long=no

    注意这里实际不需要指定--with-apr-util和--with-apu,因为这样做比较麻烦,需要先交叉编译好apr和apr-util。可以下载最新的apr apr-util放到httpd/srclib中,一起交叉编译即可。

    这里会报如下错误

    ./gen_test_char > test_char.h
    /bin/bash: ./gen_test_char: cannot execute binary file
    

    因为apache工程写的不好,编译生成的gen_test_char工具是ARM版本的,无法在当前PC上执行这个文件。

    我们要想办法找到一个PC版本的gen_test_char

    4. 重新解压httpd-2.4.6.tar.bz2到两外一个目录,假设为httpd-pc

    5. cd httpd-pc

    6. 把最晚版本的apr和apr-util解压到httpd-pc/srclib下,目录名不要带版本号

    7. ./configure --prefix=/usr/local/ ap_cv_void_ptr_lt_long=no

    8. make编译pc版的httpd,此时会生成server/gen_test_char,拷贝到arm版的httpd-2.4.6/server下

    9 cd httpd-2.4.6

    10 make

    11 make install


    展开全文
  • 交叉编译apache2+php5

    千次阅读 2009-09-07 10:33:00
    编译环境: 1.linux 主机:fedora7 2.开发板体系结构: mips 3.交叉编译器:gcc.3.4.2 4.交叉编译器目录:/opt/gcc342 5.软件版本:httpd-2.2.13.tar.gzapach2编译和安装: 1.configure CC=/opt/gcc342/bin/mipsel-...
    编译环境:
      1.linux 主机:fedora7
      2.开发板体系结构: mips
      3.交叉编译器:gcc.3.4.2
      4.交叉编译器目录:/opt/gcc342
       5.软件版本:httpd-2.2.13.tar.gz
    
    apach2编译和安装:
      1.configure
         CC=/opt/gcc342/bin/mipsel-linux-gcc CPP=/opt/gcc342/bin/mipsel-linux-cpp LD=/opt/gcc342/bin/mipsel-linux-ld AR=/opt/gcc342/bin/mipsel-linux-ar OBJDUMP=/opt/gcc342/bin/mipsel-linux-objdump AS=/opt/gcc342/bin/mipsel-linux-as STRIP=/opt/gcc342/bin/mipsel-linux-strip ./configure --host=mipsel-linux --target=mipsel-linux --build=i686-pc-linux-gnu --prefix=/uer/local/apache2 --with-program-name=apache2 --enable-module=so --enable-module=rewrite --enable-shared=max
    
    在上面命令中:
      1)交叉编译器的一些环境变量的设置:CC=/opt/gcc342/bin/mipsel-linux-gcc CPP=/opt/gcc342/bin/mipsel-linux-cpp LD=/opt/gcc342/bin/mipsel-linux-ld AR=/opt/gcc342/bin/mipsel-linux-ar OBJDUMP=/opt/gcc342/bin/mipsel-linux-objdump AS=/opt/gcc342/bin/mipsel-linux-as STRIP=/opt/gcc342/bin/mipsel-linux-strip ./conf 是对交叉编译器的一些环境变量的设置。
      2)交叉编译的设置:--host=mipsel-linux --target=mipsel-linux --build=i686-pc-linux-gnu;
      --host = 软件在什么平台下运行,(你的开发板的系统)host= 架构-厂商-内核-标准库(mipsel-linux 表示 mips架构,unknow厂商,linux内核,gnu glibc 标准库。)
      --target = 软件为什么平台服务
      --build = 软件在什么平台下编译(你编译目标文件的系统)
      3)apache2配置:
        --with-program-name=apache2 更改生成的文件名,默认为httpd。
        --enable-module=so 用来提DSO支持的apache核心模块,这个比较重要,以便以后安装动态模块,后面的php5就是安装的动态模块 。
        --enable-module=rewrite rewrite模块则是用来实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模块编译好。
      --enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。
      
      2.编译并安装
        make;
        make install;
       
       3.将/uer/local/apache2目录拷贝到目标板的文件系统目录下,去处没用的文件。其实文件都是有用的,只是目标板太小,只好删掉。
      保留bin/apache2 conf/  module/ lib/ htdocs/文件就可以了,另外看看conf/apache2.conf中的设置是不是想要的。
    
      4.  在目标板上启动
       /uer/local/apache2/bin/apache -k start
    
      5.在浏览器中输入本地地址,出现“it work !”,说明配置成功。
     
      6.出现的错误:
         1)./configure过程中,出现configure: error: cannot check for file existence when cross compiling等,具体原因没找,应该是交叉编译导致的。
              解决:在相应目录下找到出错的地方,去掉{ (exit 1); exit 1; };我的问题一般出现在srclib/apr/configure
          2)编译:
              a. ./include/apr_want.h:93: error: redefinition of `struct iovec'
               解决:在 srclib/apr/include/apr_want.h中,注掉struct iovec
              b. ./dftables: cannot execute binary file
               解决:因为交叉编译出的文件不能在编译的主机上执行,所以编译一个本地版本的dftables文件覆盖srclib/pcre/dftables
              c.  ./gen_test_char: cannot execute binary file
                同上
              d.  undefined reference to `pthread_sigmask'
                解决:在build/config_var.mk里AR_LIBS变量加-lpthread
           3)启动
              a. 找不到文件之类
                解决:在/usr/local/apache2/conf/apache2.conf中找设置的路径是否正确,或文件是否存在。
              b. apache2: bad user name daemon
                  解决:执行adduser daemon
              c."apache2: apr_sockaddr_info_get() failed for (none)
                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName"
                 将/usr/local/apache2/conf/apache2.conf文件中的#ServerName www.example.com:80替换为ServerName localhost:80
              d.“(125)Address already in use: make_sock: could not bind to address 0.0.0.0:80
                 no listening sockets available, shutting down"
                  80端口正在使用,说明已经有httpd了
    
    PHP5的编译和安装:
    1.configue
      CC=/opt/gcc342/bin/mipsel-linux-gcc CPP=/opt/gcc342/bin/mipsel-linux-cpp LD=/opt/gcc342/bin/mipsel-linux-ld AR=/opt/gcc342/bin/mipsel-linux-ar OBJDUMP=/opt/gcc342/bin/mipsel-linux-objdump AS=/opt/gcc342/bin/mipsel-linux-as STRIP=/opt/gcc342/bin/mipsel-linux-strip ./configure --host=mipsel-linux --target=mipsel-linux --build=i686-pc-linux-gnu --prefix=/uer/local/PHP5  --without-iconv --disable-all --with-apxs2=/usr/local/apache2/bin/apxs 
     --with-apxs2=/usr/local/apache2/bin/apxs 表示php5 为 Apache 共享模块安装
    
      2.编译并安装
        make;
        make install;
        如果安装成动态库,只要将libphp5.so拷贝到/usr/local/apache2/modules就可以了,如果用cli或cgi模式,可能还需要php和php-cgi
     
      3.修改 /usr/local/apache2/conf/apache2.conf文件
        在# LoadModule foo_module modules/mod_foo.so后添加
        LoadModule php5_module modules/libphp5.so
        
        在中添加
        AddType application/x-httpd-php .php
       
      4.在htdocs/下添加index.php,输入<?php phpinfo() >
    
      5. 重新启动apache2,它将支持vphp 
         
       6.在浏览器查看index.php
     
       7.出现的错误:
         1)error: impossible constraint in `asm'
          交叉编译环境错误,将include头设置为主机路径(如-I/usr/include),应该是交叉编译器的头(如-I/opt/gcc342/include);用--with-iconv=shared,/opt/gcc342/
         2)undefined reference to `php_load_extension'
            是在 configure时,如果为交叉编译,她将dlopen设置为no found,只须将found=no去掉。
         3)出现Syntax error on line 53 of /usr/local/apache2/conf/apache2.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: File not found
           a./usr/local/apache2/conf/apache2.conf中 LoadModule php5_module modules/libphp5.so目录路径不对
           b.由2)导致的
     
    
        
                           
    展开全文
  • 嵌入式平台下的apachephp移植小结

    千次阅读 2013-12-12 15:09:09
    经过若干天的努力,phpinfo()总算是返回结果了,虽然...1、在编译生成apache的过程中主要遇到了如下问题: (1)getline函数的申明冲突了,与标准库中的getline函数起了冲突,解决的办法就是改个名字了,kscope在这里

    经过若干天的努力,phpinfo()总算是返回结果了,虽然还有很多问题需要解决,但是这个过程还是值得总结一下的。

    源码包版本:apache1.3.39 php5.5.6 linxu2.6.32 嵌入式平台为omap

    1、在编译生成apache的过程中主要遇到了如下问题:

    (1)getline函数的申明冲突了,与标准库中的getline函数起了冲突,解决的办法就是改个名字了,kscope在这里帮了大忙的了

    (2)gen_test_char什么的相关的错误,不是很明白什么原因,经过查找资料才发现,应为是交叉编译,在申城的过程中需要调用一些相关的中间生成的文件,可是在主机环境下无法执行交叉编译得到的那些中间程序,解决的办法就是采用编译两套源码的方法,首先用在主机的环境下用主机的gcc编译并生成apache相关的程序,然后在交叉编译的时候,将主机环境下生成的gen_test_char程序直接复制到对应的位置了,同样的还有一个gen_uri_**什么的相关的问题也是如此了,具体在哪里找到这两个文件,在用gcc编译得到的结果里面find一下就找到了,然后copy到制定位置

    2、在编译php的时候,基本没出现什么问题,只是第一次编译生成的和apache配合无法解析php文件,在编译的过程中印象当中只是报了一个关于ldopen,ldclose相关的未定义的错误了 修改Makefiel文件在EXTRA_LIBS 后面加上-ldl 解决了


    编译过程没有遇到什么非常特别的问题,这里值得思考的是,在移植apache和php的过程中,需要对apache的源码分别在主机环境和目标环境下编译两次,我为了保险起见,都执行了make install 当然在configure的时候都配置了prefix,这样我就知道到底生成了哪些文件,在php的生成过程中,应为我几乎禁用了所有的模块,只是启用了很少几个模块,所以并有用到两次编译生成php的过程,但是我想如果需要考虑其他的模块的话,很可能需要采用这种两次编译的方式,应为在编译的时候,很可能编译的源码包需要一些中间生成的库文件或者程序的支持和处理,而主机环境下是不能直接运行目标环境下的代码的,所以有的时候可能需要借助主机环境下编译得到的中间程序,来生成交叉编译环境下的程序,这一点是值得思考的!!!


    还有一个值得思考的问题就是apache 和php的编译生成好了,apache也启动了能够请求html页面了,可是怎么解析php呢,就是怎么让apace调用php呢??

    还是google得到结果:http://www.php.net/manual/zh/install.unix.apache.php 参考文档进行设置

    到这一步的时候 :
    LoadModule php5_module        libexec/libphp5.so


    才发现问题的所在
    在编译php的时候,必须制定apache的apxs,然后编译php的过程就会在apache的libexec文件夹下生成libphp5.so文件,很明显我的目标板的apache/libexec文件夹下是不存在这个文件了,于是重新配置和编译php
    ./configure --prefix=/安装路径/ --with-apxs=/apache的安装路径/apache/bin/apxs(这个参数很重要) --with-sqlit 然后就是其他的一些参数了
    这就是为什么需要对apache编译两次了,如果在制定apxs的时候,指定的是目标系统下的apache中的apxs那么在配置php的时候,就会检测出apxs无法执行,很显然,在配置php的时候需要用到apache的apxs这个程序了,抱着试试的心态,用主系统环境下的apxs代替了,重新编译生成,这个时候如所预计的一样,在apxs对应的apache/libexec目录下生成了libphp5.so文件,于是我将该文件复制到了目标系统的apache对应的文件夹下面,然后按照配置文档的内容尽心配置,phpinfo正常工作了,yes!!


    apache就相当与一个管家,接管了http请求,然后按照配置参数来解析php文件,并将解析的文件发送回客户端口,大概的配置流程如下:
    (1)、LoadModule 加载php模块
    (2)、告诉apache如何解析php后缀的文件

    重启apache这个时候php就能够被解析了!
    下一部,就是移植mysql了, come on!!

    展开全文
  • 在ARM Linux上使用Apache+PHP

    千次阅读 2011-09-20 16:18:52
    我相信这篇文章同样是国内很难搜到的一个HOWTO(呵呵,截至到我写出来之前),我的最初目的是在ARM上使用PHP,尝试了Busybox的httpd,以及boa都没有办法很方便的和PHP接口,因此我狠下心来,编译Apache。...
     在ARM Linux上使用Apache+PHP
    我相信这篇文章同样是国内很难搜到的一个HOWTO(呵呵,截至到我写出来之前),我的最初目的是在ARM上使用PHP,尝试了Busybox的httpd,以及boa都没有办法很方便的和PHP接口,因此我狠下心来,编译了Apache。在ARM上使用PHP,好处仅仅是脚本比cgi好写一些,付出的代价是速度和蜗牛一样慢,不要指望很多人同时访问可以响应得过来。
    另外说件事,BLOG上的文章多了,经常发现有人转载,但是有的人却不注出处……难道要我吧我的名字和邮件地址写到文章的每一个部分吗?也许国人就是这样缺乏某种精神,在我看到的转载我文章的BLOG中,基本都是网上各种ARM Linux文章的集合,不可否认他们搜集的很好,但是看了这么多文章,连一点心得体会都没有么,写点原创的东西就这么难么?不管怎样,我还是坚持EE小站的风格——原创性。下面开始正题,本文分为三大部分,apache、php和配置。

    编译apache
    下载apache 1.3.39(1.3.41有些bug,没有办法交叉编译)
    下载地址http://apache.mirror.phpchina.com/httpd/apache_1.3.39.tar.bz2


    交叉编译apache总体上需要两个步骤:
    1.编译本机代码
    2.利用本机代码进行交叉编译

    这是因为编译apache时,需要使用编译生成的工具制作后续编译使用的头文件,交叉编译的工具当然没有办法在PC上运行,因此,需要借用本机编译生成的工具。假设为本机编译的apache代码已经解压缩到/home/lxz/apache-1.3.39-i586,为ARM编译的apache代码已经解压缩到/home/lxz/apache-1.3.39,交叉编译器arm-linux-gcc已设缺省路径,具体步骤还是用命令来说明:

    # cd /home/lxz/apache-1.3.39-i586
    # ./configure

    因为仅仅是借用下本机代码,所以不用设置配置参数,然后编译

    # make

    等编译完成后,就可以配置交叉编译的apache了。apache的安装位置为/usr/local/apache

    # cd /home/lxz/apache-1.3.39
    # CC=arm-linux-gcc ./configure --prefix=/usr/local/apache

    会出来这样的提示,因为交叉编译的生成的testfunc这个工具不能在PC上执行,但可以不理会它
    ./helpers/TestCompile: line 294: /home/lxz/apache-1.3.39/src/helpers/testfunc: cannot execute binary file
    打开/home/lxz/apache-1.3.39/src/main/Makefile这个文件,找到这两段代码
    uri_delims.h: gen_uri_delims
    ./gen_uri_delims >uri_delims.h
    test_char.h: gen_test_char
    ./gen_test_char >test_char.h
    修改为
    uri_delims.h: gen_uri_delims
    /home/lxz/apache-1.3.39-i586/src/main/gen_uri_delims >uri_delims.h
    test_char.h: gen_test_char
    /home/lxz/apache-1.3.39-i586/src/main/gen_test_char >test_char.h
    这里借用了刚才编译生成的本机代码里的工具,然后

    # make

    这就编译好了,下面是安装。由于配置apache的时候“prefix”参数指定的安装位置是/usr/local/apache,在PC上,访问/usr/local是需要有root权限的,需要切换到root用户来进行安装。不建议将apache安装到一个随意的目录然后拷贝,因为这样会造成apache中的脚本调用位置的错误。当然,如果想要将apache安装到一个PC和ARM Linux都能访问的固定位置,如/home/lxz/apache也可以。
    如果你不明白上面这段话在说什么,那么请按照下面的步骤进行操作。请确认你的PC Linux上的/usr/local/apache这个目录不存在PC上使用的apache,否则下面的步骤会使你PC Linux上的apache不可用。

    # su root

    输入密码

    # cd /home/lxz/apache-1.3.39/
    # make install
    # exit

    别忘了用exit退出root用户模式,这样,apache的文件就被安装到PC上的/usr/local/apache了。接下来所要做的是将apache拷贝到ARM Linux根文件系统,假设ARM Linux根文件系统在PC上的位置为/home/lxz/root,其中已经有/usr/local这个目录

    # cp -r /usr/local/apache /home/lxz/root/usr/local

    如果是一路看着我的BLOG建立起根文件系统的,接下来还必须建立nobody用户和nogroup组,因为apache拒绝使用root用户运行。具体来说就是在ARM Linux根文件系统上建立/etc/passwd和/etc/group两个文件,怎么写这两个文件,可以google下。它们的内容可以如下:

    /etc/passwd
    root::0:0:root:/:/bin/ash
    nobody::65534:65533:nobody:/:/bin/ash
    /etc/group
    nobody::65533:
    nogroup::65534:nobody
    root::0:
    users::100:
    当然,如果你的ARM Linux根文件系统中有这两个文件,那么你需要检查一下是不是有nobody用户和nogroup组。接下来,可以制作文件系统映像并测试apache是否可以正常工作了,还是用命令来说明。

    # mkfs.cramfs /home/lxz/root /home/lxz/root.img

    我一直用cramfs,SUSE 10.2自己就带了mkfs.cramfs这个工具。烧写或者加载文件系统映像的步骤我就不说了,需要注意的是如果你使用了不可写的文件系统,如cramfs,需要把apache的日志路径挂载为临时文件目录,下面这几条命令在ARM Linux上执行。

    # mount -t tmpfs tmpfs /usr/local/apache/log

    然后就可以启动apache了

    # cd /usr/local/apache/bin
    # ./apachectl start

    假设ARM板的ip地址是192.168.5.118,在浏览器里输入http://192.168.5.118:8080访问ARM板(不修改默认配置,服务端口是8080)。apache的配置一会儿编译了php再说。

    编译php
    首先下载php-4.4.8,下载地址:http://cn2.php.net/get/php-4.4.8.tar.bz2/from/this/mirror

    交叉编译php同样需要两个步骤:
    1.编译本机代码
    2.利用本机代码进行交叉编译

    原因我就不重复了,假设为本机编译的php代码已经解压缩到/home/lxz/php-4.4.8-i586,为ARM编译的php代码已经解压缩到/home/lxz/php-4.4.8,交叉编译器arm-linux-gcc已设缺省路径,具体步骤还是用命令来说明:

    # cd /home/lxz/php-4.4.8-i586
    # ./configure
    # make

    在编译的同时,可以打开/home/lxz/php-4.4.8/configure这个文件,搜索“can not run test program while cross compiling”,会搜索到很多个这样的结果:
    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
    把它们都改为
    { echo "configure: error: can not run test program while cross compiling" 1>&2; }
    这样做的目的是直接无视交叉编译测试程序错误。另外,我使用的是arm-linux-gcc 3.4.1版,和代码不太兼容。找到/home/lxz/php-4.4.8/Zend/zend_strtod.c的第238行
    #if defined(IEEE_LITTLE_ENDIAN) + defined(IEEE_BIG_ENDIAN) + defined(VAX) + \
        defined(IBM) != 1
    Exactly one of IEEE_LITTLE_ENDIAN IEEE_BIG_ENDIAN, VAX, or
    IBM should be defined.
    #endif
    把这段改为
    #if defined(IEEE_LITTLE_ENDIAN) + defined(IEEE_BIG_ENDIAN) + defined(VAX) + \
        defined(IBM) != 1
    //Exactly one of IEEE_LITTLE_ENDIAN IEEE_BIG_ENDIAN, VAX, or
    //IBM should be defined.
    #endif
    在本机php编译完后,输入如下命令

    # cd /home/lxz/php-4.4.8
    # CC=arm-linux-gcc ./configure --prefix=/usr/local/php --host=i586-suse-linux --target=arm-linux

    别以为可以编译了,还有东西要修改,真汗啊……打开/home/lxz/php-4.4.8/Makefile,找到这段
    install-pear-packages: $(top_builddir)/sapi/cli/php
    @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) /home/lxz/php-4.4.8/pear/install-pear.php -d "$(peardir)" -b "$(bindir)" /home/lxz/php-4.4.8/pear/packages/*.tar
    用上我们刚才编译的本机php里的文件,把它改成
    install-pear-packages: /home/lxz/php-4.4.8-i586/sapi/cli/php
    @/home/lxz/php-4.4.8-i586/sapi/cli/php $(PEAR_INSTALL_FLAGS) /home/lxz/php-4.4.8/pear/install-pear.php -d "$(peardir)" -b "$(bindir)" /home/lxz/php-4.4.8/pear/packages/*.tar
    终于可以编译了

    # make

    随后和apache一样,需要切换用户,把php的文件安装到/usr/local/php

    # su

    输入密码

    # cd /home/lxz/php-4.4.8
    # make install
    # exit

    这样,php就编译完成了。

    配置Apache和PHP
    接下来就需要修改配置文件,让apache和php能够链接起来工作。这个配置过程和Windows下使用apache+php的过程类似,因为我不是把apache和php一起编译的,只是让apache认识“.php”这个扩展名,然后调用php。为了方便,直接给出apache的配置文件,配置文件的位置在ARM Linux文件系统的/usr/local/apache/conf/httpd.conf,其中红色字是在默认配置文件基础上修改或添加的内容。
    ServerType standalone
    ServerRoot "/usr/local/apache"
    PidFile /usr/local/apache/logs/httpd.pid
    ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
    Timeout 300
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15
    MinSpareServers 5
    MaxSpareServers 10
    StartServers 5
    MaxClients 150
    MaxRequestsPerChild 0
    Port 80
    User nobody
    Group nobody
    ServerAdmin cosine@126.com
    DocumentRoot "/home/webroot"
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory "/home/webroot">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    <IfModule mod_userdir.c>
        UserDir public_html
    </IfModule>
    <IfModule mod_dir.c>
        DirectoryIndex index.html
        DirectoryIndex index.php
        DirectoryIndex index.php3
        DirectoryIndex index.phtml
    </IfModule>
    AccessFileName .htaccess
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>
    UseCanonicalName On
    <IfModule mod_mime.c>
        TypesConfig /usr/local/apache/conf/mime.types
    </IfModule>
    DefaultType text/plain
    <IfModule mod_mime_magic.c>
        MIMEMagicFile /usr/local/apache/conf/magic
    </IfModule>
    HostnameLookups Off
    ErrorLog /usr/local/apache/logs/error_log
    LogLevel warn
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
    CustomLog /usr/local/apache/logs/access_log common
    ServerSignature On
    <IfModule mod_alias.c>
        Alias /icons/ "/usr/local/apache/icons/"
        <Directory "/usr/local/apache/icons">
            Options Indexes MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
        Alias /manual/ "/usr/local/apache/htdocs/manual/"
        <Directory "/usr/local/apache/htdocs/manual">
            Options Indexes FollowSymlinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
        ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
        ScriptAlias /php4/ "/usr/local/php/bin/"
        # 注意 "/usr/local/php/bin/" 中最后一个"/"不可少
        <Directory "/usr/local/apache/cgi-bin">
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
        </Directory>
    </IfModule>
    <IfModule mod_autoindex.c>
        IndexOptions FancyIndexing
        AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
        AddIconByType (TXT,/icons/text.gif) text/*
        AddIconByType (IMG,/icons/image2.gif) image/*
        AddIconByType (SND,/icons/sound2.gif) audio/*
        AddIconByType (VID,/icons/movie.gif) video/*
        AddIcon /icons/binary.gif .bin .exe
        AddIcon /icons/binhex.gif .hqx
        AddIcon /icons/tar.gif .tar
        AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
       
    展开全文
  • Buildroot自动化交叉编译工具:其三

    千次阅读 2012-05-29 12:17:09
    添加新软件到Buildroot 1.创建Config.in文件如下: config BR2_PACKAGE_LIBFOO bool "libfoo" help This is a comment that explains what libfoo is. http://foosoftware.org/libfoo/ ...
  • 基于ARM的Apache服务器移植

    千次阅读 2015-12-28 10:49:29
    因为交叉编译过程中会用到开始阶段编译的工具,而交叉编译工具无法再PC机上运行,因为需要借助本机gc编译出来的工具来替换交叉编译的工具,从而完成编译。因此将apache_1.3.39.tar.gz解压两份,放在/home/apache目录...
  • php5在arm-linux下的交叉编译步骤

    千次阅读 2013-02-27 12:09:27
    折腾了一周多终于成功交叉编译php-5.2.9,现在总结一下,希望能给像我一样的菜鸟提供点帮助。步骤如下: 1. 首先交叉编译zlib。 CC=arm-linux-gcc ./configure --sahred --prefix=/usr/local/arm/3.4.1/arm-...
  • 交叉编译Apache+PHP+MySQL

    千次阅读 2012-03-16 09:12:36
    想要在ARM上编译一套Apache+PHP+MySQL的系统: 所用系统:  Ubuntu10.04 LTS 编译环境:  Gcc-4.4.3  Arm-linux-gcc-4.5.1 所需源码:  Apache-1.3.39.tar.gz  Mysql-5.1.32.tar.gz  Php-5.2.9.ta
  • apache+sqlite+php for Arm Linux

    千次阅读 2008-02-22 17:33:00
    经过几天的努力终于在arm-linux平台上搭建了apache+sqlite+php平台.apche与sqlite网上有不少资料,而php for arm-linux很少.为了在arm平台上安装php发了不少时间.所以将搭建过程发表在此,希望对大家有所帮助.Sqlite ...
  • 添加新软件到Buildroot

    千次阅读 2012-05-28 15:28:37
    添加新软件到Buildroot 1.创建Config.in文件如下: [python] view plaincopyprint?...config BR2_PACKAGE_LIBFOO bool "libfoo" help This is a comment that explains what libfoo is.
  • buildroot使用详解

    万次阅读 2018-03-22 10:42:25
     (文件系统搭建,强烈建议直接用buildroot,官网[http://buildroot.uclibc.org/]上有使用教程非常详细)文件系统通常要包含很多第三方软件,比如busybox,udhcpc,tftp,apache,sqlite,PHP,iptable,DNS等,为了...
  • php 5.3编译参数详解

    千次阅读 2013-10-23 19:07:08
    对于喜欢玩开源软件的童鞋么,都喜欢自己编译安装程序,本文说明下如何Linux下打造更加安全的PHP配置编译安装php的详细参数。 示例: ./configure \ --prefix=/usr/local/php --with-zlib --...
  • apache+sqlite+php for Arm Linux(转)

    千次阅读 2011-04-16 11:13:00
    经过几天的努力终于在arm-linux平台上搭建了apache+sqlite+php平台. apche与sqlite网上有不少资料,而php for arm-linux很少.为了在arm平台上安装php发了不少时间.所以将搭建过程发表在此,希望对大家有所帮助. Sqlite...
  • PHP编译配置和配置文件说明

    千次阅读 2010-02-08 11:34:00
    PHP安装配置说明一、软件下载PHP5.3.0:http://cn2.php.net/get/php-5.3.0.tar.gz/from/this/mirrorPear:http://de.pear.php.net/get/PEAR-1.9.0.tarMm:ftp://ftp.ossp.org/pkg/
  • PHP Web项目部署记录(一)

    千次阅读 2019-12-26 14:41:08
    Windows下安装Apache:教程地址 Windows下PHPStorm安装交叉PHP中文网 Windows下MySql5安装:百度经验 其它参考:工程自带README文件 1、配置IP地址映射关系 配置 hosts 文件路径: C:\Windows\System32\...
  • Apache2+PHP5开发环境配置

    千次阅读 2007-03-03 23:25:00
    p { font-family:Georgia,Arial,sans-serif;font-size:12px; }h4 { font-family:Verdana,Arial,sans-serif;font-size:14px;color:#334455; }p h5 { color:#050505; }code { font-family:Courier,"Courie
  • ubuntu php5 configure 配置文件解析

    千次阅读 2012-06-01 13:46:44
    configure –help说明 配置帮助表: –help 显示帮助信息 display this help and exit –version 显示版本 display version information and exit ...不显示checking……信息
  • 在用curl进行模拟调用时,curl接收内容会出现"Empty reply from server" 和 ...开启apache ulimit限制和将httpd.conf的work mpm方式修改正确。 修改后"Recv failure: Connection was reset"错误消失。"Empty repl
  • 编译平台:Ubuntu12.04 交叉工具链:gcc-3.4.6   一、移植Sqlite 解压Sqlite-3.6.20.tar.gz 到工具目录下:tar zxf Sqlite-3.6.20.tar.gz -C /home/xxx/tools 进入sqlite-3.6.20目录中:cd sqlite-...
  • 嵌入式设备web服务器比较

    万次阅读 2013-04-16 16:10:05
    现在在嵌入式设备中所使用的web服务器主要有:boa、thttpd、mini_httpd、shttpd、lighttpd、goaheand、appweb和apache等。 Boa 1.介绍 Boa诞生于1991年,作者Paul Philips。是开源的,应用很广泛,特别适合于...
1 2 3 4 5 ... 20
收藏数 2,633
精华内容 1,053
关键字:

php 交叉编译apache