Apache与PHP整合

我们之前说过PHP能够解析PHP代码, 可是不服务于apache,apache能够获取接收浏览器的请求, 可是不能处理PHP代码, 要实现动态站点开发,就必须结合apache和PHP.要让两者结合起来,就需要做一些配置。

一:Apache载入PHP模块:

载入原理: apache是模块化运转, 功能都是由一个个模块组成, 所以需要将PHP变成apache的一个模块.

php对apache提供的操作接口路径,我们在php的安装的根目录下找到一个php7apache2_4.dll文件,然后将这个模块文件载入到apache的模块中。具体方法如下:

1.以文本方式打开apache根目录下的conf下的httpd.conf

2.找到LodaModule,在最后面加入以下代码:

#加载PHP模块
LoadModule php7_module D:/wamp/php7225/php7apache2_4.dll

目录根据自己的而定。

二:Apache必须给PHP分配任务

假如是php代码就交给PHP模块处理,但是apache是不认识什么是php代码的,只能通过文件后缀来推断. 所以我们需要在httpd.conf加入以下代码:

#分配任务,将.php为后缀的文件交给php模块处理
AddType application/x-httpd-php .php

到这一步之后,你就可以运行.php的文件了。

三:指定php配置文件php.ini的路径

在httpd.conf加入以下代码:

#指定PHP的INI文件,该文件是对PHP的一些配置
PHPIniDir "D:/wamp/php7225/"

注意:只要有改动配置文件,如果要生效就必须重启apache。

四:解决访问index.php变成一直下载的情况

如果出现访问index.php变成是上载的情部的话,可以在配置文件里加入如下代码:

<FilesMatch "\.php$">
SetHandler application/x-httpd-php(解决一直下载问题)
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>

如果没有出现就不用加了。

 PHP与MYSQL的整合

PHP默认的是不能操作mysql的: 可是PHP能够通过扩展实现操作mysql。在php的根目录下打开php.ini,然手如下操作:

1.指定扩展所在位置: extension_dir 

extension_dir = "D:/wamp/php7225/ext"

目录根据自己安装目录而定。extension_dir前面的分号要去掉。

2.修改;extension=mbstring

在这个下面加入

extension=php_mbstring.dll

3.修改;extension=mysqli

在这个下面加入如下代码

extension=php_mysqli.dll

4.修改;extension=pdo_mysql

在这个下面加入如下代码

extension=php_pdo_mysql.dll

 

更改apache默认初始页面

apache默认的初始页面是index.html,所以如果我们也想让apache默认其它类型的文件,就要在配置文件里修改,在httpd.conf里找到如下代码

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

在index.html后面加入一些其它类型的文件 如index.php,各个类型文件之间用空格隔开。如下所示:

<IfModule dir_module>
    DirectoryIndex index.html index.php default.html index.htm
</IfModule>

保存之后重启一下apache就可以生效了。

12-15 09:58