1、

cd /mnt

tar zxvf httpd-2.4.10.tar.gz

./configure --prefix=/mnt/apache2 --enable-dav --enable-modules=so

APR version 1.4. or later is required, found 1.3.

解决方案:安装APR与APR-utils
   909tar zxvf apr-1.5.1.tar.gz
  910  cd apr-1.5.1
  911  ./configure
  912  make
  913  make install

-------------

916  tar zxvf apr-util-1.5.4.tar.gz
  917  cd apr-util-1.5.4
  918  ./configure --with-apr=/usr/local/apr
  919  make
  920  make install

-------------------------------------------------

2、重新安装httpd

./configure --prefix=/mnt/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

pcre缺少,找不到,configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

解决方案:yum install pcre-devel -y

162  unzip -o pcre2-10.00.zip
  163  cd pcre2-10.00
  164  ./configure --prefix=/usr/local/pcre
  165  make
  166  make install

再来一遍./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

configure: error: mod_so can not be built as a shared DSO

再来一遍 去掉--enable-modules=so

./configure --prefix=/usr/local/apache2 --enable-dav --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

成功

3、make

make[]: *** [shared-build-recursive] Error /usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC

解决方案:以64位的方式重新编译zlib
 961  tar zxvf zlib-1.2.3.tar.gz
  962  cd zlib-1.2.3
  963  CFLAGS="-O3 -fPIC" ./configure
  964  make
  965  make install
  966  make clean

4、最后重新编译一下

967  cd ..
  968  cd httpd-2.4.10
  969  ./configure --prefix=/mnt/apache2 --enable-dav --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
  970  make
  971  make install
  972  pstree -p

5、启动/mnt/apache2/bin/apachectl start

httpd: Could not reliably determine the server's fully qualified domain name

解决方案: 在Apache的安装目录下的hhtpd。conf文件修改如下【  cd /usr/local/apache2/conf  ls一下】
   (1) ServerName localhost:80    这一行前面的注释去掉即可。

疑问:是不是httpd以这种方式编译,就什么问题也没有【一样的有问题,2015年0221亲测】

./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so

最后还是以这个编译的

再来一遍 去掉--enable-modules=so

./configure --prefix=/usr/local/apache2 --enable-dav --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr--config --with-apr-util=/usr/local/apr/bin/apu--config

参考文章http://www.cnblogs.com/bluewelkin/p/4110759.html

256  tar zxvf libxml2-2.6.32.tar.gz
  257  cd libxml2-2.6.32
  258  ./configure --prefix=/usr/local/libxml2
  259  make
  260  make install

263  tar zxvf php-5.4.37.tar.gz
  264  cd php-5.4.37
  265  ls
  266  ./configure --prefix=/usr/local/php --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs
 --with-libxml-dir=/usr/local/libxml2

出现错误

configure: error: xml2-config not found. Please check your libxml2 installation.

解决方案:

重新安装libxml2和libxml2-devel包

yum install libxml2

yum install libxml2-devel -y

--------------------------------------------------------------------------------

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands

Bug #42718 (unsafe_raw filter not applied when configured as default filter) [ext/filter/tests/bug42718.phpt]  XFAIL REASON: FILTER_UNSAFE_RAW not applied when configured as default filter, even with flags
Bug #67296 (filter_input doesn't validate variables) [ext/filter/tests/bug49184.phpt]  XFAIL REASON: See Bug #49184

-----------------------------------------------------------

解决方案:php不支持mysqli,有什么办法生成mysqli.s

---------------------------------------------------------------------------------------------

2015年2月21日

说明:

1、安装apache+mysql+php,php总是最后装的,apache和mysql可以不分顺序。因为根据视频的那个源码包安装的时候,php是指定了目录的。指定了mysql和apache

2、apache中支持php,相当于apache中开启了php模块。然后php(其实是程序里面)开启了连接了数据库。

3、php里面开启例如zlib、mysql、xmlrpc、openssl 、gd库。在这个文件里面编辑vi /usr/local/php/etc/php.ini 添加即可【/usr/local/php是php按照的时候 --prefix的目录】

4、apache在windows的配置文件 路径在\Apache2.2\conf\httpd.conf  linux在/usr/local/apache2/etc/httpd.conf 多了一个etc

5、添加别名 alias sta='/usr/local/apache2/bin/apachectl start'

05-14 17:04