当前位置:  首页  >  PHP教程  >  PHP 基础  >  基础教程

php运行环境的配置

服务器:web服务器。我们的web请求通常情况下都是基于http协议的。因此有时我们也将web服务器称之为http服务器。那是因为我们搭建的服务器需要提供一个能让其他用户通过web(http)请求获得资源的目的
起航php :
 
编程语言 web(网站建设) 做网站
网络编程语言。
C/s  client server 客户端 服务器
b/s  browser server  浏览器 服务器
我们的网站的请求 都是基于浏览器的。
 
PHP在B/s架构中担当一个什么地位?
不是浏览器,也不是服务器。
是:运行在服务器端的程序语言,可以帮助我们管理服务器上的资源。
 
如何搭建一个B/S的项目:
浏览器:(通常不同自己搭建)
 
服务器:web服务器。我们的web请求 通常情况下都是 基于 http协议的。因此 有时 我们也将web服务器称之为 http服务器。那是因为 我们搭建的服务器 需要提供一个能让其他用户 通过web(http)请求获得资源的目的。
什么样的电脑可以充当服务器:
一台电脑就是是在什么地位?是浏览器端 还是 服务器端? 不是由电脑上的硬件决定的,而是由这台电脑上的软件决定的。
如果有一台电脑 安装了 服务器端软件(可以提供某种服务的软件),就可以被称作是一台服务器。
Lamp:
Linux apache mysql php:
Apache:就是一个web服务器软件
Mysql: 是一个数据库软件, 数据是项目的核心。
PHP:  是一个编程语言,可以用来管理数据库中的数据,将这些管理,规划好的数据 给需要的 用户看(浏览器端的用户)。
B/S
请求:request。由 浏览器 向服务器 发送数据,告知服务器 需要某种资源。这个过程就是请求的过程。
回应:response. 由 服务器端 向 浏览器端 发送数据。 在服务器接收到 浏览器 发出的请求后,将这个请求处理完毕,将处理结果发送给浏览器。
 
B/S架构中,任何一次浏览器与服务器的数据交互,都需要经历 先请求 再 回应的过程。
在 请求 回应 模式中:
浏览器就可以发出请求:
 
谁可以接收到请求,并处理呢?apache
在处理请求的过程中,apache会调用 php来操作服务器上的资源。
 
搭建一个web服务器(apache)
服务器软件并不是 apache自己:
Windows 上的iis
 
与PHP配合最好的就是apache软件。
官网:
http://www.apache.org/
下载相应版本的apache:

 
安装时 需要设置服务器的信息:
 

 
我们使用自定义安装 看看哪些配置项可以使用:
设置以下 安装位置:

 
Install开始安装,安装完成后,应该:在浏览器的地址栏中 输入:Localhost 
如果能够发现如下的界面 说明apache安装成功:
 
Apache安装完成了,说明我们有:http服务器。
下面需要添加 http服务器对php文件的处理能力。安装php软件:
官网: www.php.net
Php版本的介绍?
5.x 表示的php软件的开发版本好。数字越大 越新。一般建议下载最新的稳定版本。
在windows上 分为 vc6 和vc9 的版本。
指的是 php源码的编译器版本不同,其中 vc6 指的是vc 6.0编译的php,vc9 使用的是vs2008编译的 。通常情况下这么认为:
如果在windows上 php与apache 配合使用的话,需要php的vc6版本。
而 php与 iis配合的话 通常需要使用php的vc9 的版本。
因为 apache这个软件 就是使用 vc6 编译的。
但是 从 php 5.3.x 开始 php就不再提供  vc6的版本。因此 在大家使用新版本的php时,需要在电脑上安装 vc2008的基础编译类库才可以。
通常情况下 我们都将php作为apache的一个工具来使用。将php作为apache的一个模块来使用。
通常情况下:安装php 指的是 将php安装成apache的模块。
下载相应版本:
不用安装的步骤,需要解压 配置即可:
解压 复制到 安装目录:

 
配置php与apache的关系:
通过修改apache的配置文件达到目的:
Apache的配置文件 apache的安装目录/conf/httpd.conf
E:/amp/apache/conf/httpd.conf
配置文件中使用apache的指令 LoadModule来实现即可
loadModule 模块名 模块地址
Httpd.conf文件:
此时 apache已经有了一个叫做 php的工具了。
此时还需要配置,在什么时候应该调用这个工具。
只有请求到的文件的后缀名为 .php的话 才需要调用这个工具完成解析。
利用 执行段 完成。
Httpd.conf中::
我们需要重启apache使apache的配置文件生效:

 
思考:
如果我们现在的php文件 由于某种特殊需求需要写到htm文件中,我们应该怎么办?
利用 匹配上相应的文件即可。
AddHander的一个问题:

 
我们的apache有配置文件 同样 我们的php也有配文件。
我们的php的配置文件 名为 php.ini。
如果需要我们的配置文件被加载需要怎么做?
一 将php.ini 放入到 指定目录下;c:/windows
二 或者将php.ini 放到你想放置的位置,此时需要更改 php的配置文件目录达到效果
通常都是第二种做法,将php的配置文件放入到php自己的目录:
由于php已经是apache模块,因此虽然php.ini是php模块用的,但是是apache负责加载的。
需要修改apache的配置来更改php模块的配置文件目录。
利用apache的  PHPIniDir指令来配置。

 
将配置文件 放入到 制定目录:

 
这样就会从当前的加载文件目录加载到当前的php.ini配置文件:
 

 
我们使用了php的配置文件 但是 如果修改了php的配置文件同时 也需要重启apache配置才能生效。
安装完成php后,一些基本的PHP的配置是需要配置:
Extension_dir :扩展目录:
时区:
安装MySQL
MySQL是数据库服务器软件。意味着 mysql可以提供数据库服务。
在本机 安装MySQL www.mysql.com
下载:相应的版本:
选择自定义的安装方式 看看哪些东西可以配置的
 

 
设置目录:
 

 
点击install 开始安装即可:
当出现以下的界面时,说明MySQL程序已经安装成功,但是 通常 在第一次使用之前 需要对MySQL服务器 加以设置才可以使用:通常这个配置主要是对 mysql的用户和权限的配置。

 
开始配置MySQL:
最好设置设置编码:为utf8.
 

 
建议 将mysql目录写到环境变了 path中:
 

 
设置MySQL的root用户的密码:1234abcd
 
开始配置系统:
出现以下画面 说明配置成功,:

 
查看mysql的安装:

 
安装成功后的mysql 即安装了服务器端部分,也安装了客户端部分。
在MySQL的安装目录:
 

 
因此 在以后 我们使用 php 去操作数据库时 ,php是作为客户端来存在的,来链接MysQL服务器。
 

当前MysQL已经安装到我们的电脑上了,接下来的工作,就是需要使用我们的PHP去操作MySQL了:
步骤:
一:开启MysQL扩展:
1, 需要正确扩展文件。
 

 
上面的文件 就是一个最基本的 链接mysql的扩展文件。
2, 使用extension指令加载扩展文件即可。
需要设置正确的 extension_dir 扩展文件目 
使用extension指令加载 相应的扩展: 

 
需要重启apache 使之生效?
我们可以通过使用phpinfo()查看是否架子啊成功,如果大家能够看到如下的界面:
Apache php 和MySQL的配置文件分别在哪?
Apache: Apache/conf/httpd.conf
Php: php/php.ini
Mysql: mysql/my.ini windows上叫 my.ini  linux上叫 my.cnf
模拟再接下来的php测试中 我们存在两个测试网站:
一个 :test 专门用于保存一些测试代码的
一个: shop 模拟一个简单的shop项目。
因此 通常情况 每个项目的测试代码 应该保存到每个项目的目录中才可以。

 
目录虽然不同
但是 访问方式:
Test: localhost/test
Shop: localhost/shop
访问方式中 域名是相同的。
在真实的项目中 域名相同意味着什么?
意味着 现在这个两个项目 其实 只有一个域名 其实只是一个项目,只是不同的子目录而已。
常规下,不同的项目应该有不同的域名才可以:
Shop: kang.shop.com
Test  kang.test.com 

 
Apache 虚拟主机的配置:
虚拟主机:我们需要在同一个apache服务器上 建立对外看来 多个的主机。需要假设 虚拟主机。
主机:
基于ip的虚拟主机:
要求一个电脑同时拥有多个IP才可以。
基于域名的虚拟主机:
不同的项目的访问地址是不相同的,但是ip地址是相同的。
如果需要配置基于域名的虚拟主机,则需要通过修改apache的配置文件达到效果!
Apache的配置文件中,使用httpd-vhosts.conf这个文件来集中管理虚拟主机的。我们的虚拟主机的配置 最好不要写在httpd.conf中 而是写到虚拟主机的集中配置文件中。
大家需要做的就是 将 下面 这行代码的注释去掉即可:
Httpd.conf的配置文件。
 

 

 
在修改配置文件之前:
增加虚拟主机的配置 需要两方面:
一 服务器的配置,需要使用apache增加一个虚拟主机
先让httpd.conf配置文件加载虚拟主机的集中配置文件:、
 

 
找到虚拟主机的集中配置文件:
1, 增加一个 NameVirtualHost *:80  通常这个配置是写好的:针对所有的虚拟主机都起效。
2, 每一个虚拟主机 是由 一个指令段配置的。
3, 虚拟主机中的指令:
 ServerName 表明当前虚拟主机的域名
 DocumentRoot 表明我们虚拟主机的根目录
 
重启服务器使之生效。
二 浏览器的配置,需要浏览器能够找到虚拟主机所在的机器才可以。
现在通过浏览器访问我们的虚拟域名 访问不到,说明 我们;现在的浏览器能不能定位服务器?
其实是 配置 通过域名 解析 ip的过程。
利用 windows系统的域名解析文件完成:

 
下面将 kang.shop.com  与 kang.test.com 分别对应成本机:
 
以上的操作 完成了 虚拟主机的最基本的配置:
权限的配置:
再次创建一个虚拟主机
kang.frame.com   e:/amp/sites/frame
服务器端:
增加一个虚拟主机:
 
重启apache:
浏览器端:
增加一个域名解析:
 
但是:

 
导致这个结果的原因是:项目所保存的位置不一致:、
Test  shop  e:/apache/htdocs
Frame  e:/amp/sites/
难道所有的项目都必须放在 htdocs目录么? 不是。
但是 我们需要手动的配置目录权限。
默认情况下 有两个配置在起作用:
上面的指令的含义是:如果我们没有对某个目录特别设定权限的话,使用这个配置段中的权限配置。是一个默认配置。
第二段:
 

 

 
上面的代码的含义:配置 e:/amp/apache/htdocs这个目录选项。
因此 我们的  test 和 shop 项目 都走的是 第二段中 allow from all这个配置
而 frame项目 走的是 第一段中的 deny from all 的配置。
如果我们需要解决这个问题,可以修改:
第一段中的:
 
这样 就可以让所以的目录 全部
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有