php.ini+apache配置(持续更新)

php配置时区:

找到php.ini文件(php安装目录下,若只有php.ini-development就将其修改为php.ini使用)
定位到timezone,将其注释符号;去掉,添加PRC(中华人民共和国)
date.timezone = PRC
若不成功检查php.ini是否在apache配置项里

apache配置文件检查语法错误

使用系统自带的命令行窗口执行apache/bin/httpd.exe -t
这里写图片描述
也可以将apache下的bin目录设置为环境变量,方便使用

apache主机配置

apache目录下conf下的httpd.conf配置文件
添加主机名

ServerName www.my.com

同时修改host文件添加 127.0.0.1 www.my.com

#DocumentRoot “访问位置路径” //一个文件夹的访问是有权限的,初始站点的文件夹已经是设置好权限的,现在改的权限没有,所以访问可能会被禁止,使用下面更常用的方法

<Directory "访问位置路径">
    #indexes代表如果没有可访问默认文件就显示所有文件及文件夹 +代表允许 -代表不允许
    Options +Indexes
    #先阻止后允许
    Order deny,allow
    Allow from all
    #DirectoryIndex my.php
    #允许.htaccess文件发挥作用
    #AllowOverride All
</Directory>

指定默认访问文件

#起全局作用,若想只单独作用可将DirectoryIndex添加到
#<Directory>...</Directory>
<IfModule dir_module>
    DirectoryIndex  index.php  index.html abc.php
</IfModule>

apache主机别名配置

在应用中我们通常使用两种形式访问
http://www.my.com
http://my.com
可通过以下形式实现

ServerAlias 别名1 别名2 ...

文件夹访问访问控制的文件的控制方式 .htaccess

conf配置文件可以使用Directory配置项控制文件的访问权限,但我们也可以用单独的文件来控制文件夹的访问权限
文件名必须是 .htaccess
1.只有后缀和点号
2.该文件必须放在被控制访问权限的文件夹中(不同的文件夹可以放不同的该文件)
3.其上级文件夹必须允许使用.htaccess

AllowOverride All

4..htaccess文件中的代码,几乎可以和Directory中出现的代码一样

DirectoryIndex you.php

5.若.htaccess文件有效就覆盖其上级设置
6.此文件可立即发挥作用,无须从其apache

目录别名设置 Alias

目录别名也叫虚拟目录
一个站点就是一个文件夹(目录)
给站点下当然也可以有自己的下级目录
实际存在的目录可以按正常的层级访问关系进行访问
比如:www.my.com/my/
www.my.com/my/you/
若一个站点不存在这个目录,我们可以通过配置项来做到看起来是一样的,比如www.my.com/my/you/是不存在you目录的,但可以使其‘可访问’,将其引用别的目录,这就是目录别名(虚拟目录)
全局设置如下

<IfModule alias_module>
    > #Alias /you "真实目录"
    Alias /you "c:\windows"
</IfModule>
#访问:localhost/you/*.php

单独站点设置如下;在下个步骤中的VirtualHost标签中添加

Alias /you "c:\windows"

若无权限访问,就按上述设置访问权限。可见通过该方法可将该站点之外的内容也使用到其中

多站点配置

httpd.conf打开多站点配置


LoadModule rewrite_module modules/mod_rewrite.so

#Virtual hosts
Include conf/extra/httpd-vhosts.conf

找到httpd-vhosts.conf进行多站点配置的ip与端口

    #NameVirtualHost  ip:端口 *代表当前服务器的所以ip地址(通常只有一个)
    NameVirtualHost *:80
#站点1
 #要跟前面的NameVirtualHost的设置一样
 <VirtualHost *:80>
     ServerName www.my.com
     #设置主机别名
     ServerAlias my.com
     DocumentRoot "..."
     #文件路径与DocumentRoot一样
     <Directory "...">
         Options Indexes
         AllowOverride All
         Order deny,allow
         allow from All
         DirectoryIndex index.php index.html
    </Directory>
 </VirtualHost>
#站点2
...

php.ini 添加mysql模块

打开php.ini将扩展语句的注释符号去掉
extension=php_mysql.dll
extension=php_mysqli.dll
指定加载模块的位置 extension_dir=”…”
extension_dir =”D:\php\ext”

php.ini设置get,post

当表单提交同时具有get和post并且出现重名
request_order = “GP” 代表post覆盖get
注意:$_GET\$_POST\$_RERUEST之间是相互独立的

你可能感兴趣的:(apache,PHP)