Apache和PHP的配置

按照的正常情况下

安装完成了一个Apache后,使用默认配置就可以使它跑起来。

不过可以通过以下一些配置就可以使部分功能启用起来

httpd.exe -w -n "Apache2" -k start

1、虚拟机:

在Apache的conf/httpd.conf中,查找httpd-vhosts.conf,然后把前面的#注释符拿掉,使得

Include conf/extra/httpd-vhosts.conf这个配置句生效

然后打开conf/extra/httpd-vhosts.conf文件

会看到一些默认配置

<VirtualHost *:80></VirtualHost>标签符

这个标签符表示着一个虚拟机的配置在这里

而”*:80”则“*”的表示绑定任意IP,而“:80”是表示通过80端口进行监听

ServerAdmin

填写管理员邮箱的,在以前,一些页面如果出了问题,Apache就会自动贴上了这个配置值,用于希望有好心人可以发邮件通知站长。现在,基本不需要,所以一般这行是可以删除的。

DocumentRoot

填写这个虚拟机的Web入口目录,也就是脚本的入口目录,也可以说是网站的跟目录对应的文件目录。

譬如你希望通过访问网站的根目录,就可以访问到文件目录D:/PHPCode,那么这里的配置值就是填写D:/PHPCode。

需要注意,如果目录的名称中有空格,则需要使用双引号来把路径包起来。

如:”D:/Program Files/PHPCode/”

ServerName

就是这个虚拟机访问的域名,或者代表名。如果想知道为什么,可以查看HTTP协议头的Host参数部分

ServerAlias

就是这个虚拟机访问的别名,可以用作泛域名使用。

如: *.sanywork.cn

不用时可以删除。

ErrorLog

用户记录该虚拟主机发生的错误日志。目录是相对目录,相对于在httpd.conf的ServerRoot的配置目录

CustomLog

用户记录该虚拟主机的执行日志。目录是相对目录,相对于在httpd.conf的ServerRoot的配置目录

 

2、默认访问文件

 

DirectoryIndex是配置默认访问文件的名字

根据配置顺序访问,空格分隔,第一个文件名找不到时,找第二个;第二个文件找不到时,找第三个,直到找到文件为止。

如果找不到文件,并且<Directory>标签配置的Options里面没有Indexes,则返回HTTP 404禁止访问错误;如果有配置Indexes,则返回目录的索引列表。

 

3、让Apache加载PHP模块

如果在安装PHP时,有选择好正确的Apache目录时,一般会在httpd.conf中看到这个配置

LoadModule php5_module "PHP安装目录/php5apache2_2.dll"

上面的”PHP安装目录”就是安装PHP的目录

所以如果没有看到这行配置,可以随意找个地方(比较推荐跟那些LoadModule摆在一起)写下来

在PHP的目录里面都会有对应Apache 1.X、Apache 2.0、Apache 2.2的DLL(动态连接库),所以要注意自己的apache版本来写对应的文件名。例如上面的例子的文件名,就是针对Apache2.2的。

 

4、让Apache启动PHP解释

如果在安装PHP时,没有勾上注册*.php文件的话,相信在httpd.conf里面是不会出现以下配置句的

AddType application/x-httpd-php .php

这个配置句就是让Apache知道PHP这个文件类型,从而可以让Apache看见访问*.php文件的时候,就会调用PHP解释器。

如果没有看见,那就在配置文件的任意(可以在底部)地方加入这一行吧

 

5、设置PHP默认配置目录

如果通过PHP安装文件安装PHP,并且安装时设置Apache配置目录是正确的话,那么应该会在httpd.conf找到以下一个配置行

PHPIniDir "你的PHP安装目录"

如果没有找到,那么可以把这行加起来,这样就可以使得在PHP安装目录下的php.ini文件生效起来了。想知道php.ini文件当前是读取哪一个的话,可以通过phpinfo()函数,查看Loaded Configuration File的值

 

6、打开PHP错误提示

在PHP目录中,查找 display_errors ,把其值设置成 On

把error_reporting 设置成 E_ALL

 

时区设置

如果apache中的httpd.conf中存在以下语句

# PHP Timezone

<IfModule mod_php5.c>

  php_value date.timezone "Asia/Shanghai"

</IfModule>

将其设为想要的时区

打开php.ini,在其中找到date.timezone,并把其改为

date.timezone = Asia/Shanghai(或者PRC)即可,或在程序运行中使用date_default_timezone_set('Asia/Shanghai')

结语

到目前为止,正常的开发应该就已经可以满足了。

需要学习更多的可以参考Apache Http Server的官方文档

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值