您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2013年08月25日 07:34

原创 Apache与PHP集成配置

2406 次浏览 读完需要≈ 6 分钟

内容目录

一提到PHP,就会让人不由自主地想到Apache这个黄金搭档。众所周知,Apache服务器本身无法直接解析PHP文件。不过,幸运的是,Apache是模块化设计的,我们可以非常方便地以功能模块的形式向其中添加我们需要的各种功能。实际上,PHP就是以模块的形式集成在Apache上运行的。

Apache与PHP集成配置,已经不是什么新鲜事儿了,配置起来也非常简单。此外,许多诸如XAMPP、WampServer、AppServ、PHPnow、EasyPHP等Apache+PHP+MySQL(+Perl)(+phpMyAdmin)形式的第三方套件都已经帮我们把所有的集成配置工作都预先完成了,我们需要做的仅仅是直接一键安装使用即可。

不过,作为一名优秀的PHP开发人员,熟练掌握原生Apache和PHP的配置技能也是必不可少的。现在,我们就来看看如何实现Apache和PHP的集成配置工作。

在Apache与PHP集成配置之前,我们需要做一系列准备工作。

1.下载

首先,我们需要下载Apache和PHP的安装文件。

Apache的下载地址为http://httpd.apache.org/download.cgi。 PHP的下载地址为http://windows.php.net/download/。 (Linux等版本请在此处下载 => http://www.php.net/downloads.php) 在这里,笔者下载的安装文件如下: Apache:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi PHP:php-5.4.19-Win32-VC9-x86.zip (由于PHP 5.5以上版本不再支持Windows XP/Windows Server 2003,出于兼容性考虑,此处下载的是PHP 5.4的当前最新版)2.安装Apache的安装就不用说了,跟着程序安装向导前进即可,笔者的Apache安装目录为F:/Apache2.2。 PHP安装文件是一个压缩文件,直接解压到指定的安装目录即可,笔者的PHP解压目录为F:/php5.4.19

3.集成配置

安装完成后,我们用文本编辑工具打开Apache安装目录/conf/httpd.conf文件(笔者这里是F:/Apache2.2/conf/httpd.conf),然后在LoadModule相关配置的结尾处添加如下配置:

#加载PHP及相应配置
LoadModule php5_module F:/php5.4.19/php5apache2_2.dll  #加载php5模块
PHPIniDir F:/php5.4.19 #指定php.ini文件(PHP配置文件)所在目录
AddType application/x-httpd-php .php .phtml #添加PHP的MIME类型设置

详情如图所示:

apache-httpd-conf.jpg

此外,需要注意的是php.ini文件。php.ini是PHP的配置文件,不过当我们进入PHP的安装目录(即F:/php5.4.19)中却找不到一个名为php.ini的配置文件。但是,我们可以发现PHP的安装目录中存在php.ini-development和php.ini-production这两个文件。

php自带的两个配置文件

实际上,这两个文件就是PHP给我们提供的配置文件,不过,它们的配置内容有所区别。正如其文件名称所表述的一样,php.ini-development是适用于测试环境(开发环境)下的配置文件,php.ini-production是适用于正式环境(生产环境)下的配置文件,因此我们需要根据实际情况,将其中一个文件的名称改为php.ini即可。

4.测试

经过上述步骤,Apache和PHP的集成配置就已经完成了,接着我们编写一个简单的PHP文件,来测试一下PHP是否能够正常工作。我们将包含如下代码的index.php文件放入Apache指定的站点文件夹中,然后在浏览器中输入对应的网址,以检查我们的集成配置是否成功。

<?php
	echo 'Hello PHP!';
?>

如果页面上只显示出"Hello PHP!"字样,即表示我们的Apache与PHP的集成配置已经成功了。

如果配置时,Apache服务器处于启动状态,在每次更改配置文件(httpd.conf、php.ini等)后,必须重新启动Apache服务器,所作的更改才能生效。(由于CGI和CLI模式下,每次调用都会重新读取php.ini,因此该情况下可以不用重启服务器)

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论