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'