源码安装Apache 和PHP, Apache的版本是httpd-2.2.12.tar.gz,PHP的版本是php-5.3.6.tar.gz
Apache编译参数如下:
./configure --prefix=/usr/local/apache2 --disable-authn-file --disable-authn-default --disable-authz-groupfile --disable-authz-user --disable-authz-default --disable-auth-basic --disable-include --enable-so --with-mpm=prefork
PHP编译参数如下:
./configure --prefix=/usr/local/php5.3.6 --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --with-curl --with-openssl --with-zlib --enable-sockets --enable-ftp --with-mysql --with-openssl --with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir --enable-sockets --enable-pcntl --with-mhash --with-mcrypt --enable-bcmath --with-gettext --enable-zip --with-pdo-mysql
安装完PHP后将安装源文件中的 cp php.ini-dist /usr/local/php5.3.6/lib/php.ini
安装完成后配置Apache,写个php的info页面test.php:
<?php
phpinfo();
?>
然后用浏览器访问test.php,页面出现的是test.php文件中的内容,并不是php的info信息。
在Apache中的配置文件httpd.conf中添加AddType application/x-httpd-php .php,重启APACHE,还是出现同样的错误。
而且Apache的配置文件已经加载了PHP的模块LoadModule php5_module modules/libphp5.so。最后发现是由于Apache的配置文件缺少如下的配置:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
然后重启Apache,代码可以正常解析了!