FavoriteLoading
0

我的php学习第二十四天——php运行环境的搭建(apche)

  1. 什么是PHP?

PHP是运行在服务器端的脚本语言,配合mysql和html实现动态网站。

脚本语言:编程语言有更加严格的规范。编程语言不能直接执行,需要编译后再执行。脚本文件可以直接被执行。

网站:

用户角度:在浏览器中能够通过url能够访问到的html界面。https://www.cwhello.com

开发角度:网站就是一个文件夹,从某个指定文件夹下放置和获取具体某个文件的过程。

Html最主要的作用:帮助所有的用户去查看同一个文件的时候,能够看到同样的效果。

服务器:装了服务器软件的电脑被称之为服务器。

服务器软件:IIS,Apache,tomcat,telnet,ftp,mysql

Web访问

  1. 如何访问别人的电脑?IP,唯一标识一台电脑

http://192.168.3.100

image001

  1. 域名和域名系统:Domain,Domain Name System(域名解析)

image003

https://www.cwhello.com  =====è http://192.168.3.100

web访问原理

studyPHP,appserver,wamp,xamp都是集成环境。

PHP通常有两大软件:wamp和lamp

Wamp:windows下Apache,mysql和PHP

Lamp:Linux下的Apache,mysql和PHP

保存原来的集成环境。

 

1.Apache的配置文件修改,修改Apache的监听端口

image005

2.Mysql的配置文件修改,修改其监听的端口

找到my.ini文件

image007

将php.ini中所有对应的端口port改成非3306

image009

通过netstat命令查看端口

搭建PHP开发环境

Apache,mysql,PHP

安装Apache

1.获取Apache安装软件。http://apache.org

image011

2.运行安装文件

a) 配置服务器信息

image013

b) 选择安装模式

image015

c) 配置安装目录

image017

3.安装成功。看到Apache运行,且是一个绿色的三角形图标

image019

验证。在浏览器中输入localhost

image021

安装独立环境不是为了开发,而是为了最终的项目部署。当项目开发之后,会将所有的项目文件部署到服务器上,这个时候都是使用独立的环境,从而从安全上得到保证,也方便进行不同的配置。

这个时候Apache只能操作一个静态网站。没有动态语言的支撑,也没有数据库的支撑。

Apache安装后的目录说明

image023

安装mysql

Mysql:一个动态网站需要数据库的支持,mysql就是用来保存数据。

1.获得mysql安装文件,去官网获得。image025

2.运行安装文件

a) 选择安装模式

image027

b) 配置安装路径

image029

3.安装完成,进入配置界面

image031

4.选择配置模式,选择详细配置

image033

5.选择服务器类型,选择开发者模式

image035

6.数据库功能选择,选择多功能数据库

image037

7.InnoDB表空间设置,默认就行

image039

8.并发选择,选择手动,使用默认的手动下的数量

image041

9.访问选项设置

image043

10.选择字符集

image045

11.Mysql服务设置

image047

12.配置安全信息

image049

13.执行配置

image051

14.验证是否安装成功,控制台输入mysql –uroot –p密码

image053

Mysql的目录结构

image055

注意:Apache和mysql的安装目录不能使用中文和空格

备份数据库数据

  1. 复制原来数据库文件夹到新的数据库的data目录下(以数据库名字命名的文件夹)
  2. 将原来数据库的ibdata文件复制到新的data目录下,覆盖ibdata文件。(前提是新的数据库里面没有任何数据)

安装PHP

PHP不是安装文件,只是一个文件夹

1.获得PHP文件,去PHP官网下载

image057

2.解压文件

image059

3.复制文件夹到server目录并重命名

image061

对Apache进行配置,加载PHP

image063

修改Apache的配置文件来实现目的。

1.找到Apache配置文件d:server/apache/conf/httpd.conf

2.添加模块,指定php中的具体的动态链接库

image065

3.重启Apache(所有配置文件的修改都需要重启服务才会生效)

Httpd.exe,必须进入到Apache的bin目录下执行(配置环境变量也行)

1.–M,查看Apache加载了哪些模块(可以被加载的,LoadModule前面的注释取消掉的)

image067

2.–l,真正当前被加载的模块

image069

3.–t,验证配置文件的正确性

image071

默认安装后,会有一个域名被注释上,导致不能通过域名进行访问,需要取消该注释

image073

如何让php能够工作?

告诉Apache,当用户请求的是php文件的时候,应该交给php模块去处理。

addType application/x-httpd-php .php    //只要是以.php结尾的文件请求,都交给php处理

image077

重启服务器

验证php文件

image079

Php有自己的配置文件,但是系统却找不到。

image081

开发环境:用于程序员开发和测试的环境,没有对外发布。

生产环境:已经对外发布,正式部署之后在运行状态的环境。

将开发环境对应的ini配置文件,复制一份,然后去掉-development后缀

image084

Php还是无法找到配置文件,如果要让php能够找到配置文件,有以下两种方式:

1.将php.ini文件到到c:/windows下(不建议:操作起来不方便,安全也是一个原因)

2.在Apache的配置文件中加载php.ini文件

PHPIniDir “D:/server/php”

image086

  1. 重启Apache
  2. 检测

image087

注意:当前只是将Apache与php进行了关联。Php当前是独立的,跟mysql没有任何关系。

配置php与mysql的联系

1.找到php的配置文件php.ini,查找extension,找到php与mysql的关系

image089

2.开启mysql扩展

image091

3.默认的扩展文件的目录是找不到,要配置扩展路径:extension_dir

image093

4.当php.ini修改之后,需要重启Apache才能生效

5.验证是否生效,phpinfo(),下查看mysql是否被加载即可

image095

上述配置已经实现了Apache,mysql和php的合体。但是当前还存在一个小问题,系统时间问题,系统默认的使用是UTC时区,需要改成中国时区。

image097

在php.ini文件找,找到一个属性date.timezone = PRC

image099

重启Apache,验证结果

image101

D:/server/apache/htdocs/book       //订书系统

D:/server/apache/htdocs/house     //购房系统

 

http://localhost/book/index.php ========>http://book.mark.com/index.php

http://localhost/house/index.php =======>http://house.mark.com/index.php

http://192.168.3.100/index.php

 

要实现一台web服务器当做多个网站的站点来使用,那么需要虚拟主机(基于域名的虚拟主机)

以前是在httpd.conf下直接配置虚拟主机,方式如下

NameVirtualHost *:80

<VirtualHost *:80>

ServerName book.mark.com

DocumentRoot “D:/server/apache/htdocs/book”

</VirtualHost>

<VirtualHost *:80>

ServerName house.mark.com

DocumentRoot “D:/server/apache/htdocs/house”

</VirtualHost>

Apache为用户提供了一套虚拟主机,在httpd-vhosts.conf里面,要使用Apache提供的虚拟主机有以下几个步骤:

  1. 要开启虚拟主机

image103

去掉注释

image105

  1. 进入httpd-vhosts.conf里面配置虚拟主机

image107

配置一个book.mark.com虚拟主机

image109

  1. 清理无效的虚拟主机image111
  2. 重启Apache
  3. 配置hosts文件,C:\Windows\System32\drivers\etc

image113

如果配置并启用了虚拟主机,那么localhost默认的就会被覆盖掉。

如果想继续使用localhost,需要配置一个localhost的虚拟主机。

image115

如何设置一个网站的默认网页?

在虚拟主机中指定DirectoryIndex 要显示的文件

image117

权限问题

<Directory 路径>

Order Allow,Deny    #执行的顺序是先允许,然后拒绝

Deny from all

Allow from all

</Directory>

image119

网页文件的请求流程(web请求原理)

请求静态网页:html文件

  1. http://www.mark.com/index.html
  2. 查找hoss文件,寻找域名对应的ip:http://192.168.3.100/index.html(www.mark.com)
  3. Apache接收请求,通过域名找到网站根目录
  4. 抓取index.html文件,并把内容返回给请求的浏览器
  5. 请求的浏览器解析数据

请求动态网页:php文件

  1. http://www.mark.com/index.php
  2. 查找hoss文件,寻找域名对应的ip:http://192.168.3.100/index.php(www.mark.com)
  3. Apache接收请求,通过域名找到网站根目录
  4. 请求php引擎(模块)去获取index.php文件
  5. Php引擎会加载index.php文件,并进行解析,解析成html文件格式的内容
  6. Php引擎将html文件交给Apache
  7. Apache把得到的html文件交给浏览器
  8. 浏览器进行解析

image121

欢迎分享本文,转载请保留出处!—重蔚自留地 站长邮箱:951076433@qq.com