PHP基础——PHP、MySQL、Apache配置

摘要:一、Apache服务器 1.Apache目录结构 添加环境变量即是使用Apache主程序目录。 2.Apache CMD命令 在CMD模式下启动 netstartapache2.2//启动 netstopapache2.2//停止 查看Apache已经加载的模块 cmd命名提示符: httpd.exe-M//查看一下Apache已经加载了哪些模块 CMD下配置文件语法检查

一、Apache服务器 1.Apache目录结构

添加环境变量即是使用Apache主程序目录。

timg.jpg

2.Apache CMD命令 在CMD模式下启动

netstartapache2.2//启动 netstopapache2.2//停止 查看Apache已经加载的模块

cmd命名提示符:

httpd.exe-M//查看一下Apache已经加载了哪些模块 CMD下配置文件语法检查

cmd模式下:

setpath//显示环境变量中的目录列表 httpd.exe-t//配置文件语法检查(首先在C盘根目录下查找,如果没有,再去环境变量指定目录中找) 修改环境变量

右击计算机图标——属性——高级系统设置——环境变量——编辑

将其拷贝到记事本中:

D:wampphp;D:ProgramFiles(x86)ActiveStateKomodoEdit9nightly;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;D:ProgramFilesMicrosoftSQLServer110DTSBinn;D:ProgramFiles(x86)MicrosoftSQLServer110ToolsBinn;D:ProgramFilesMicrosoftSQLServer110ToolsBinn;D:ProgramFiles(x86)MicrosoftSQLServer110ToolsBinnManagementStudio;C:ProgramFiles(x86)MicrosoftVisualStudio10.0Common7IDEPrivateAssemblies;D:ProgramFiles(x86)MicrosoftSQLServer110DTSBinn;C:ProgramFiles(x86)MicrosoftSQLServer100ToolsBinn;C:ProgramFilesMicrosoftSQLServer100ToolsBinn;C:ProgramFilesMicrosoftSQLServer100DTSBinn;D:ProgramFiles(x86)nodejs;D:ProgramFiles(x86)QuickTimeQTSystem;D:ProgramFiles(x86)Calibre2;D:ProgramFiles(x86)SkypePhone

在其后添加Apache、MySQL、PHP的bin路径:

D:wampapachebin;D:wampphp

然后粘贴回去

 

3、Apache基本配置——httpd.conf Listen

当Apache服务启动以后,就开始监听自己电脑的指定IP地址的某个端口号的请求和访问。

如果客户端请求的,正好是我监听的IP地址和端口,那么,Apache就为你提供服务。如果不是监听的IP地址和端口,那么,Apache不会为你提供服务,换句话说:你无权访问我的网站。

在httpd.conf中搜索“Listen”

#Listen12.34.56.78:80 Listen0.0.0.0:8080 Listen[::0]:8080 DocumentRoot

DocumentRoot"D:/wamp/www/"

指定虚拟主机的网站根目录

DirectoryIndex

设置网站的默认首页文件名,可以设置多个首页文件名,多个首页之间用空格隔开。哪一个首页文件先存在,就先执行谁

<IfModuledir_module> DirectoryIndexindex.phpindex.php3index.htmlindex.htm </IfModule> <Directory></Directory>目录权限

<Directory"D:/wamp/bin/apache/apache2.4.9/cgi-bin"> AllowOverrideNone OptionsNone Requireallgranted </Directory> Alias目录别名

可以将文件系统中的一个目录,映射到网站的一个虚拟目录中,来使用。换句话,将网站根目录之外的目录,临时挂载到当前网站中用一下,用完再去掉。

Alias别名目录真实目录

u别名目录,必须以正斜杠(/)开头,目录名称自己定义。如:/music

u真实目录:是数据文件的真实所在目录。

在httpd-vhosts.conf中添加代码如下:

<VirtualHost*:8080> DocumentRoot"d:/php" ServerNamewww.php.net <Directory"d:/php"> OptionsIndexes OrderDeny,Allow DenyfromAll AllowfromAll #为/music指定别名目录 Alias/music"E:music" #给别名目录指定权限 <Directory"E:music"> OptionsIndexes OrderDeny,Allow Denyfromall Allowfromall </Directory> </Directory> </VirtualHost>

保存后记得重启Apache服务器

PHPIniDir

描述:修改PHP配置文件路径

在Apachehttpd.conf文件中查找到"PHPIniDir",并在其后添加php.ini配置文件的路径。

PHPIniDir"D:/wamp/php/" LoadModule

语法:

LoadModulemodule_namemodule_path //module_name是要加载的模块的名称,PHP5模块的名称是php5_module //module_path是指PHP5模块文件的绝对地址。如:C:wampPHP5php5apache2_2.dll

 

加载PHP模块

#BEGINPHPINSTALLEREDITS-REMOVEONLYONUNINSTALL PHPIniDir"D:/wamp/php/" LoadModulephp5_module"D:/wamp/php/php5apache2_2.dll" #ENDPHPINSTALLEREDITS-REMOVEONLYONUNINSTALL

AddHandler

语法:

AddHandlerhandler_nameextension1extension2… //uhandler_name:指定处理器名称,PHP的处理器名称为application/x-httpd-php //extension表示,处理器可以处理的扩展名文件。多个扩展名之间用空格隔开。

添加php5模块,可以处理哪些扩展名

#BEGINPHPINSTALLEREDITS-REMOVEONLYONUNINSTALL PHPIniDir"D:/wamp/php/" LoadModulephp5_module"D:/wamp/php/php5apache2_2.dll" AddHandlerapplication/x-httpd-php.php #ENDPHPINSTALLEREDITS-REMOVEONLYONUNINSTALL

l注意:这种方式,也同样可以处理.php.html后缀的文件。换句话说:只要文件名中含有“.php”都会处理。

 

AddType

描述:添加文件类型和扩展名之间的映射关系,换句话说:什么样的文件类型,可以处理什么样的扩展名。

语法:

AddTypefileTypeextension1extension2… //ufileType指定媒体文件的MIME类型。如:images/giftext/htmltext/csstext/javascript //PHP程序的MIME类型,application/x-httpd-php //extension指定文件类型可以处理的扩展名有哪些,多个扩展名用空格隔开。

如处理php后缀:

AddTypeapplication/x-httpd-php.php.phtml

l提示:AddType配置项,只能处理.php后缀的文件,不能处理.php.html后缀的PHP文件。

phpMyAdmin

将phpMyAdmin放在Apache的默认虚拟目录下,即htdoc文件夹下,然后在浏览器地址栏输入:"localhost:80/phpmyadmin"即可运行。默认80端口可以省略:localhost/phpmyadmin。

 

4.Apache虚拟主机配置——httpd-vhosts.conf
NameVirtualHost

指定可以访问虚拟主机的IP和端口

NameVirtualHost*:80

1.配置本地的DNS hosts文件

路径:C:WindowsSystem32driversetchosts

127.0.0.1localhost 127.0.0.1www.php.net

2.在Apache主配置文件httpd.conf中开启虚拟主机

#Virtualhosts Includeconf/extra/httpd-vhosts.conf

3.配置Apache虚拟主机配置文件httpd-vhosts.conf

NameVirtualHost*:81 <VirtualHost*:81> ServerNamewww.php.net DocumentRoot"D:/php" <Directory"D:/php"> OptionsIndexes OrderDeny,Allow DenyfromAll AllowfromAll </Directory> </VirtualHost>

配置好后,重启Apache,测试。

 

5.Apache分布式配置

可以在自己的网站空间下新建一个".htaccess"文件,这个文件就是"分布式配置文件",启用分布式配置文件需要在httpd-vhost.conf主配置文件中开启"AllowOverride"选项

代码1:.htaccess文件

Optionsnone#不具有任何的目录权限 DirectoryIndexindex.php#指定首页 OrderDeny,Allow#定义deny和allow的优先级 Denyfromall#允许使用控制主机访问的指令(Allow、Deny、Order) Allowfrom127.0.0.1#允许本地访问 #定义404错误跳转的页面 ErrorDocument"/error/notfound.html"

代码2:在httpd-vhost.conf文件中开启"AllowOverride"选项

<Directory"c:/wamp/www"> OptionsIndexes#如果首页文件不存在,则显示目录列表 OrderDeny,Allow DenyfromAll#禁止所有人访问服务器 AllowfromAll#允许所有人访问服务器 #是否允许分布式配置中的配置覆盖虚拟主机配置 AllowOverrideAll </Directory>

配置文件覆盖顺序:(优先级由高到低)

.htaccess > httpd-vhosts.conf > httpd.conf

 

二、PHP配置设置——php.ini 1.cmd命令

php.exe-f//调用主程序去访问PHP的脚本 php.exe-v//显示php的版本号 php.exe-i//运行phpinfo()函数 php.exe-m//显示php已经加载了哪些模块(module)(加载插件) 2.PHP配置MySQL

在php.ini中查找到"extension_dir",其后面的参数是存放PHP加载外部模块的动态链接库文件(.dll)的文件夹路径,并在php.ini中继续查找"extension_dir=php_mysql.ini",该句代码就表示允许PHP调用MySQL模块。

[PHP_MYSQL] extension=php_mysql.dll [PHP_MYSQLI] extension=php_mysqli.dll