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

  1. 什么是PHP?

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

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

网站:

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

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

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

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

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

Web访问

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

image001

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

image003

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

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

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/1956.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2017年4月24日
下一篇 2017年5月2日

相关推荐

  • 关于500 - 内部服务器错误。 您查找的资源存在问题,因而无法显示的二个解决实例

    今天修改早期PHPCMS站上后台文章,发觉网速有些慢,然后短些的文章能正常修改,部分稍长的文章则显示: 500 – 内部服务器错误。 您查找的资源存在问题,因而无法显示。 Windows7 IIS 500 – 内部服务器错误解决方案 …

    2017年10月30日
    01.6K
  • 教你phpstudy安装教程详解。

    一、PHPStudy简介 PHPStudy是一款非常方便的PHP开发环境集成软件,它集成了Apache、MySQL、PHP、PHPMyAdmin等多个常用PHP开发工具,可以帮助开发者快速搭建PHP开发环境,本文将详细介绍如何在Windows系统下安装PHPS…

    2024年6月20日
    00
  • 今日分享storm 并行度。

    Apache Storm是一个开源的分布式实时计算系统,它能够处理大量的数据流,在Storm中,并行度是指同时处理的数据流的数量,通过调整并行度,我们可以更好地利用集群资源,提高系统的吞吐量和响应速度,本文将介绍如何…

    2024年6月15日
    00
  • 说说linux系统apache基本配置web。

    在Linux系统中,Apache是一款非常流行的开源Web服务器软件,为了提高网站的性能和安全性,我们需要对Apache进行一些优化,本文将通过示例分析,介绍如何在Linux系统中对Apache进行网页与安全优化。 1. 优化Apache的…

    2024年6月14日
    00
  • 我的PHP学习第二十四天之PHP环境搭建

    什么是PHP? PHP是运行在服务器端的脚本语言,配合mysql和html实现动态网站。   脚本语言:编程语言有更加严格的规范。编程语言不能直接执行,需要编译后再执行。脚本文件可以直接被执行。 网站: 用户角度:…

    2016年5月24日 PHP自学教程
    01.1K
  • 我的php学习第十九天之mysql

    昨日回顾 PHP文件的工作原理 www.baidu.com/about/index.php   分析的相关信息: (1)www.baidu.com对应的是服务器上的 DocumentRoot配置项指定的目录 转换成实际目录: e:www (2)about目录 转成实际目录:…

    2015年12月1日 server自学教程
    0277
  • 如何找到虚拟主机的站点名称。

    要找到虚拟主机的站点名称,可以尝试以下方法:1. 登录到虚拟主机的控制面板或管理页面:大多数虚拟主机提供商会提供一个控制面板或管理页面,您可以通过登录该页面来查看所有托管的站点和其名称。2. 查看虚拟主机…

    2024年7月13日
    00
  • 说说IBatchSpout API怎么使用「ibatis api」。

    IBatchSpout是Apache Storm中的一个组件,用于实现批量数据的处理,它的主要作用是将数据分批次地发送到Storm拓扑中,以实现高效的数据处理,本文将详细介绍IBatchSpout API的使用方法。 我们需要了解IBatchSpout的…

    2024年6月16日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息