博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP配置加强二
阅读量:4289 次
发布时间:2019-05-27

本文共 7143 字,大约阅读时间需要 23 分钟。

运行原理--------服务器中的服务器软件和浏览器进行交互; 服务器本身有操作系统,上面装服务器软件,如Apache,tomcat,IIS等;PHP是运行在服务器端的脚本语言,PHP模块也放在服务器中,可以执行php代码;数据库也放在数据库中;Apache调用php------php调用数据库;

-------------------------------------

客户端技术:HTML,css,javascript;

服务器端技术:服务器软件,服务器语言,数据库;

apache安装后默认的主页站点位置在:apache/htdocs/

localhost    就代表本机服务器,

www.lambo.com---浏览器找到域名对应的IP,再去请求IP所代表的服务器,只有IP才能准确确定一台服务器(一台电脑)的准确位置;域名转换为IP的过程称为域名解析;互联网上有很多解析域名的服务器,叫DNS域名解析服务器;

操作系统文件可以设置重定向,解析域名-------Windows/system32/drivers/etc/hosts;

host s就是文件名,没有后缀,但是他是纯文本文件;他是系统文件,需要管理员身份才能修改;

---------------------------------

------------------命令行运行-----------------------

php 语言包无需安装,copy后只要放在合适的位置即可;

php模块中有一个可执行文件php.exe ,

php命令行(cmd)运行模式:方法1运行路径-----,路径/php.exe -f ”自己写的php文件路径''(注意php.exe文件的路径要加上,否则找不到)

方法2运行代码-----.路径/php.exe  -r "自己写的PHP代码"

-----------------------------------------------------------配置apache----在apache中配置PHP---------------------------------------

php只是apache的一个功能模块;需要自己配置

配置apache,----------初始安装apache后还不能运行php脚本代码,好需要对apache进行自定义配置,主配置文件位置:apache/conf/httpd.conf

如上图:

第一步:添加LoadModule php_module "php5的模块文件路径”(php路径/php5apache2_2.dll文件,Windows系统中正反斜杠都可以)--------表示装载php5模块文件

第二部:指定php后缀的文件应该调用该php模块去执行;-------

<FilesMatch "\.php$">

setHandler application/x-httpd-php

</FilesMatch >

\.php$-------表示所有php后缀的文件;

setHandler application/x-httpd-php----------------------表示该类由php模块执行,固定写法;

第二部还有一种方法:在 <ifModule mime_module>中添加   AddType  application/x-httpd-php .php .php3 .php

php其实也是作为apache的其中一个功能模块而已;无默认配置,需要自己配置;

配置了php模块后,还需要指定php.ini的位置;

--------------------------配置基本文件php.ini------需要吧下面图中的文件改成.ini结尾-----

图中的两个文件,根据开发和发布选择更改一个即可;

--------------------------在apache中指定php.ini的位置-----------------------

apache还不知道php配置文件的位置;需要在apache中设定php.ini的文件位置-------------PHPInDir "php.ini所在的文件夹路径”(只要设定文件夹就可以,路径中不包含php.ini这个文件本身

----------------------------------------------------------------------

配置时区------在配置文件中找到 date.timezone=PRC;

------------------------------------配置环境变量---------------------------

设置环境变量:就是将一些常用的目录位置加入到操作系统的path路径设置中去,我么通常可以加入以下的:

apache的bin目录:

mysql的bin目录:

设置环境变量后,文件的路径就可以省略了,直接使用文件;(在终端中使用mysql命令时,需要先配置环境变量)

计算机-----属性-----高级系统设置---------高级---环境变量-----系统变量-----path----编辑:添加上上述目录,用英文分号隔开;

--------------------------检测apache的语法问题---------------------------------------

检测apache配置文件的语法:

使用aache/bin目录中的httpd.exe -t

--------------------------php功能模块配置----------------------------------------

php内部是一个完整的语言包,里面有很多功能模块;

在php.ini中有很多扩展功能;可以打开或关闭;

--------------------打开数据库功能模块:---------------------

这两个只是开关:extension =php_mysql.dll

entension =php_mysqli.dll

还需要设置数据库模块的位置;

配置数据库连接机制

打开扩展模块:-------------设置数据库模块的位置(对比apache打开php的模块语法)

#extension_dir = "./"

#On windows

entrnsion_dir ="C:/it/wamp/php/ext"(该项指定php中的各个模块(包括数据库模块)实际存放位置------------所有模块位置统一指定)

-------------------------------------------------------------

php链接数据库的函数:$connc=mysql_connect("localhost","root","123");

--------------------------------------------------------------安装mysql数据库

MYSqll server ------------mysql的安装位置,推荐放在自定义的MYSQL文件夹中

server data files ----------------数据存放的位置,推荐选择自定义的MYSQL文件夹中;

配置数据库很复杂:

 选择custom------

选择detailonfig-------

next---

点击excute-----才-执行上面的配置;

------------------------------------------------------------------

如下图:apache只提供80端口服务,没有提供8080端口服务,如果用8080端口,就显示网页不存在;

apache设置支持多个端口服务:

apache的详细配置;

如果请球的是www.php34.com则在C://itcast/class/bj-php024/amp/apache/htdocs中找相对应的网页;

浏览器通过域名经过DNS解析找到服务器这台电脑,找到这台电脑后匹配端口,然后apache就提供服务;(域名对应的iP与系统的host文件中设置有关;决定能不能进入服务器的apache;)

apache的端口监听设置,是指设定Apache这个软件针对当前的服务器的那些端口提供web服务;apache的配置文件httpd.conf中的Listen 80(对80端口提供服务),可以设置多个端口号;

主机配置的关键项:虚拟主机/web站点-------------------可以通过浏览器,使用域名访问的web应用;

主机(站点)的名字:ServerName “主机名”

主机(站点)的路径:DocumentRoot “htdocs路径”

配置的方式添加文件夹的访问权限:

<Directory  "documentRoot的htdocs路径">

Option Indexes----------用于设定可显示文件列表(当无可显示网页的时候)

Order deny,allow--------------用于权限的判定顺序:先拒绝,后允许;

Deny from 192.168.0.1--------------拒绝这个IP的访问(只有在局域网中才有点意义)

allow from all---------------------允许所有IP访问

DirecoryIndex base.php------------设置默认网页--这里设置只对当前的路径有效

AllwOverride all--------允许.htccess文件发挥作用

</Directory>

可以设置默认网页给用户;形式如下:

<IfModule dir_module>

DirectoryIndex  index.html   ss.php---------------- 可以设置多个默认网页,这里设置是全局有效;依次寻找

</IfMdule>

对于指定要访问的明确网页的请求,会按照顺序一次往后寻找,如果都没有找到,就打开目录文件夹中的所有文件和文件夹

如下图:

-----------------------------------------------------

主机别名设置:ServerAlias  别名1 别名2 别名3.。。。。

一般有两种形式访问一个站点:1.http://www.bc.ccom      2.http://abc.com

目录别名设置:Alias  /soft   "真实的路径"--------------------------------目录别名可以将站点之外的网页/数据、内容放到当前站点中; 

一个站点就是一个文件夹,该文件夹中有其下一级文件夹目录,实际存在的下一级目录可以按照正常的文件夹访问层级关系进行访问,

----------------------------------------

文件夹访问控制的文件控制方式:

通常我们在config的配置文件中,使用directory配置项,目的是用来控制文件夹的访问权限,但我们也可以使用一个独立的文件来控制某文件夹的访问权限

该文件名必须是:   .htacces

注意:1.只有后缀和点号(无需文件名部分)

2.该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放置不同的该文件)

3.其上级文件夹(通常是Directory中设定的文件夹)必须使用如下代码允许 htcces发挥作用:AllwOverride all;

4..htccess 文件中出现的代码几乎和Directory设定中出现的代码一样;

5.如果.htccess 的文件有效,则其设置会覆盖其上一级的设置;

6.   .htaccess文件修改后立即生效,无需重启apache;

-------------(配置多个虚拟主机)多站点配置-----------一个虚拟主机可以配置一个站点,也可以配置多个站点--------------

:1,httpd.conf中打开多站点配置  Include  conf/extra/httpd-vhosts.conf打开注释

2.htpd-vhosts中设置要进行多站点配置的IP和端口形式如下:

NameVirualHost  IP : 端口   

NameVirualHost  * : 80-----默认已经设置好了

*号代表当前服务器的所有IP(虚拟主机)地址;-----通常是一个IP;------------------一台服务器可以设置多个虚拟主机;

下面是配置一个站点,其他的站点同样;进行了多站点配置,httpd.conf中的配置就失效了

站点一:

<VirtualHost *:80>

ServerName www.php34.com-------主机

ServerAlias php34.com--------主机别名(用该别名也可以访问,但是域名要解析)

DocumentRoot "dddd"------根目录

<Directory "dddd">-----设置权限-------文件夹的路径要和上面的documentRoot的路径一致

Options Indexes

AllowOverride All

Order allow,deny

allow from all

deny from 192.163.2.33------决绝这个IP访问

DirectoryIndex  p1.php p2.php  ------默认网页

</Directory>

</VirtualHost>

----------------------------------

站点二:同上

---------------------------------------------------------

mysql客户端有多种:cmd命令行,PHP网页文件,navicate;

虚拟主机的配置:

总共有有6万多个端口,通常一台服务器只提供几个货十几个服务,

常用端口:

web服务:80

ftp:21

邮件收取服务:110;

邮件发送:25;

MYSQL数据库服务:3306

---------------------------------------------------------------------------

配置多个虚拟主机:

1.打开Apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#!!

2.打开Apache的apache/conf/extra下的次配置文件httpd-vhosts.conf

3.将此文件下的原有的扩展配置文件(如下):删除一个或两个

ServerAdmin webmaster@dummy-host2.localhost DocumentRoot /www/docs/dummy-host2.localhost ServerName dummy-host2.localhost ErrorLog logs/dummy-host2.localhost-error_log CustomLog logs/dummy-host2.localhost-access_log common

4.在httpd-vhosts.conf文件的末尾添加上:

DocumentRoot D:/wamp/website/a.com ServerName www.a.com
Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all

5.打开在C:/WINDOWS/system32/drivers/etc中的hosts文件中加上如下的内容

127.0.0.1    www.a.com

6.这样我们就配置好了名为wamp的虚拟主机,重启一下我们在浏览器中输入wamp就可以查看到D:/wamp/www目录下的内容了!!

7.但是这样localhost访问则出现了问题,这时需要我们,同样将localhost设为虚拟主机

DocumentRoot D:/wamp/www ServerName localhost
Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all

8.为了让其他电脑用IP访问电脑,需要在httpd.conf 中搜索127.0.0.1,修改为all

你可能感兴趣的文章
原来redis这么简单,跟着文章操作一遍你就会了
查看>>
Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)
查看>>
事务隔离级别中的可重复读能防幻读吗?
查看>>
老伙计,关于JDK并发包,这些不为人知的秘密你知道多少?
查看>>
图片的左右切换
查看>>
进级的RecyclerView——LRecyclerView
查看>>
Android 利用Gradle实现app的环境分离
查看>>
Android系统篇之----Binder机制和远程服务调用
查看>>
JavaScript DOM 属性
查看>>
Gradle 实现 Android 多渠道定制化打包
查看>>
Android开源项目及库整理总结
查看>>
Android快速开发系列 10个常用工具类
查看>>
深入理解JSON对象
查看>>
类似新浪微博帖子显示话题、@好友、表情解析等
查看>>
JSP 自动刷新
查看>>
Java应用架构的演化之路
查看>>
看透内存中的数组
查看>>
Android工程打包成jar文件,并且将工程中引用的jar一起打入新的jar文件中
查看>>
JS单例模式在工作中的使用
查看>>
Java易混小知识——equals方法和==的区别
查看>>