• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

PHP 简介与环境搭建 分布式部署、 虚拟主机

Mr.Lee 由 Mr.Lee
2018年5月18日
在 PHP, PHP基本语法
0
PHP 核心编程(二)Mysql 扩展、 数据库连接、 笑话增删改查
0
分享
2
浏览

PHP简介与环境搭建

PHP简介

  1. PHP(“PHP: Hypertext Preprocessor”,超文本预处理器)
  2. PHP是一门运行在服务器端的脚本语言

lamp组合

Linux:开源的操作系统

Apache:阿帕奇,给PHP的运行提供了运行环境,这是一个开源的软件

PHP:开源的运行在服务器端的脚本语言

MySQL:开源的数据库,用来保存数据

思考:wamp组合是什么?

答:windows+apche+mysql+php

思考:PHP的运行我们需要安装apache,为什么HTML,CSS,JS的运行我们没有安装环境

答:首页HTML,CSS,JS的运行是需要环境的,这三门语言是通过浏览器去解析执行的,所以浏览器为这三门语言提供了运行环境。

六组概念

客户端和服务器端

服务器端:从广义来说:用来保存数据并且为客户端提供服务的计算机;狭义上的服务器就是Apache。

客户端:用来请求服务器端数据的计算机。

思考:用新浪服务器上的浏览器访问新浪网站,客户端和服务器端是什么?

答:这台计算机既做客户端也做服务器端。

静态网站和动态网站

网页:一个页面 网站:很多页面的组合

静态网站:没有能力进行数据交互的网站,.html就是静态页面

缺点:不能做数据交互

优点:因为服务器端不执行,所以执行效率最高

动态网站:可以进行数据交互的网站

优点:可以进行数据交互

缺点:因为服务器端要执行,所以执行效率偏低

思考:动态网站中是否存在静态页面?

答:可以的

实现动态网站的技术

实现技术 页面后缀
asp技术 .asp,这个技术已经被淘汰
PHP技术 .php
.net技术 .aspx
Java技术 .jsp

现在最常用的是php技术和java技术

BS架构和CS架构

B:browser(浏览器)

S:server(服务器)

C:client(客户端)

BS:通过浏览器访问服务器,比如新浪,百度,传智官网

CS:通过客户端软件访问服务器,比如QQ,微信,股票软件

前台和后台

前台:给浏览器访问的页面

后台:管理员操作的页面

端口和端口号

一个服务器就像一个大楼,大楼中有很多房间,每个房间就是一个端口,端口上的编号成为端口号,端口的编号是从0-65535。

端口号只有整数,范围是从0 到65535,端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的。所有TCP/IP实现所提供的服务都用1-1023之间,客户端口号因存在时间很短暂又称临时端口号,大多数TCP/IP实现给临时端口号分配1024-5000之间的端口号。大于5000的端口号是为其他服务器预留的

IP地址和域名

IP:用来区分每台计算机的地址

域名:一个域名对应一个IP地址,就是IP地址的别名

PHP优点

  1. 开源的,源码开放
  2. 跨平台:PHP既能运行在windows上,也能运行在Linux上
  3. 语法简单,上手快

需要用到的DOS命令

打开命令行面板

方法一:直接点击命令提示符进入

方法二:花键+R,打开运行面板,输入cmd,点击确定

两个命令

安装Apache

apache默认的端口是80。

查看80端口是否被占用

通过netstat –ano查看端口占用情况

如果80端口被占用,

方法一(关闭占用80端口的进程):通过进程编号(PID)查看一下是哪个进程占用了80端口,通过PID在任务管理器中找到对应的进程或服务,右键关闭对应的进程或服务即可。

方法二:更改Apache的运行端口。

 

获取Apache的安装文件

双击安装

  1. 新建wamp文件夹,用来部署PHP运行环境,
  2. 在wamp文件夹下创建Apache文件夹,用来安装Apache软件

  1. 双击安装

安装完毕后,在状态栏的右下角出现如下图标

测试Apache服务器是否安装成功

访问服务器语法:http://IP地址[:端口号]

127.0.0.1表示本地电脑,也可以写成localhost(local:本地 host:主机)

比如:http://127.0.0.1:80

在浏览器中输入http://127.0.0.1[:端口号]或者http://localhost[:端口号]显示it works表示apache运行正常

Apache的启动\关闭\重启操作

方法一:鼠标左键点击Apache图标

方法二:鼠标右键Apache图标

方法三:在控制面板——管理工具——服务

方法四:通过apache命令,Apache的命令在bin目录中

在wamp\Apache\bin目录中,有一个httpd.exe文件,这个文件用来执行Apache的命令。

在命令行中通过Apache的命令来控制服务

脚下留心:在安装apache的路径不能出现中文

配置环境变量

我们现在执行httpd指令必须到apache/bin目录下,如果我们配置了环境变量就可以在任意的目录下执行httpd指令

第一步:我的电脑——右键

第二步:点击“高级系统设置”

第三步:点击“环境变量”

第四步:选中Path,点击“编辑”

第五步:将httpd.exe文件所在的目录添加到path中

测试:

重新开启命令行

执行原理:

  1. 首先在当前目录下寻找httpd指令,如果有就执行,如果没有就到环境变量的Path中去找
  2. Path中的每个路径之间用分号隔开,从左往右依次寻找。

apache的目录结构

Apache的配置文件

Apache启动过程

所以更改Apache的配置文件后要重新启动服务器

Apache三个常用的命令

httpd -v:显示apache的版本

httpd -t,用来检测apache的配置有无错误

httpd -M:显示加载的模块

解决服务器名的问题

打开httpd.conf配置文件

保存,并重启服务器

Apache配置文件语法

  • 配置文件中的指令是不区分大小写的
  • 指令的参数(argument) 是区分大小写的
  • “#”是注解

PHP安装

获取安装包

将安装包拷贝WAMP下,并改名为php

到此,PHP安装完毕!

判断PHP版本

将PHP作为一个模块提供给apache加载

现在PHP和Apache之间是没有关联的,我们要让Apache启动的时候加载PHP

打开httpd.conf文件,添加导入模块的指令

重启服务器,测试加载是否成功(httpd -t)

具体代码参加帮助文档

测试:

在htdocs文件夹下写个test.php页面

代码如下:

保存,并运行

原因:因为PHP模块不知道要在什么情况下去执行。

在请求PHP页面的时候调用PHP模块

思考:如何执行HTML页面中PHP代码

加载PHP配置文件

PHP的加载原理和Apache一样,也是先读取配置文件,然后加载各个模块(扩展)。

第一步:打开PHP目录

第二步:复制php.ini-development一份,并改名php.ini

第三步:将php.ini拷贝到c:\windows目录下(不推荐使用)

推荐方法:通过PHPIniDir指令指定php.ini的目录

测试结果:

设置时区

当php.ini成功加载后,发现时区无法加载

打开php.ini

保存,重启服务器

MySQL的安装

获取安装文件

双击安装

MySQL目录

加载PHP中的扩展

PHP本身没有功能,PHP功能是通过加载PHP扩展得来

默认PHP扩展加载位置

打开php.ini

保存并重启服务

加载PHP连接MySQL的扩展

测试(在PHP页面中写一段连接数据库的代码)

<?php

mysql_connect(‘localhost’,’root’,’aa’) or die(‘error’);

echo ‘success’;

?>

运行

更改apache虚拟目录

打开httpd.conf,通过DocumentRoot指令更改虚拟目录的位置

测试:在c:\www目录中创建aa.php,访问

原因:虚拟目录没有访问的权限

更改虚拟的目录的权限

给c:\www添加可以访问的权限

<Directory “C:\www”>

Allow from all #允许所有人访问

</Directory>

再次测试就可以访问

如果不写具体的页面

通过Options Indexes指令显示文件夹文件的索引

<Directory “C:\www”>

Options Indexes

Allow from all

</Directory>

运行结果

练习

  1. 如下代码结果是什么

<Directory “C:\www”>

Order deny,allow

Allow from all

deny from all

</Directory>

结果:允许所有人访问

  1. 如下代码结果是什么

<Directory “C:\www”>

Order deny,allow

Allow from 192.168.101.50

Deny from 192.168

</Directory>

结果:拒绝192.168开头的除了192.168.101.50以为的所有IP

  1. 如下代码运行结果什么?

<Directory “C:\www”>

Order deny,allow

deny from all

Allow from 127.0.0.1

</Directory>

结果:只允许127.0.0.1访问

  1. 如下代码运行结果是什么

<Directory “C:\www”>

Order deny,allow

deny from all

Allow from www.php.com

</Directory>

结果:只允许www.php.com的域名访问

更改默认首页

在httpd.conf中,通过DirectoryIndex指令指定默认首页

更改端口

默认情况下,端口号是80

通过Listen指令更改端口

访问测试

DNS解析

DNS(Domain Name Server),将输入的域名解析成IP地址的过程。当输入域名的时候操作系统会寻找最近的DNS映射文件。每个计算机上都有个DNS的映射文件

打开hosts文件

输入www.baidu.com就会解析到127.0.0.1的服务器上

虚拟主机

不同的网站部署在同一个服务器上,但是浏览器访问不同网站感觉是不同的服务器,感觉是每个网站都在不同的主机上,每个网站就是一个虚拟主机。

开启虚拟主机

打开httpd.conf文件

打开httpd-vhosts.conf文件,配置虚拟主机

在hosts中做DNS解析

测试

站点:存放与网站有关文件的文件夹

虚拟目录=站点+文件夹的权限

虚拟主机=虚拟目录+与主机有关的配置

分布式部署

更改apache和php的配置文件,Apache中的所有虚拟主机都会受到影响。也就是说Apache和PHP的配置作用于所有的虚拟主机。

分布式部署文件

  1. 名字必须是.htaccess
  2. 必须通过编辑器创建
  3. 分布式部署文件在当前目录及子目录下起作用,每个目录中都可以存放分布式部署文件。
  4. 更改.htaccess文件,更改后立即生效,不需要重启启动服务器

作用:可以通过分布式部署文件更改Apache和PHP的配置

更改Apache配置

在虚拟主机中,拒绝访问服务器

在分布式部署文件中再允许访问

测试

更改PHP配置

在分布式部署中有两个指令php_flag和php_value

通过php_flag指令更改开关性质的配置

通过php_value指令更改值性质的配置

WAMP安装总结

第一步:安装Apache,输入http://localhost,显示it works成功

第二步:安装PHP

第三步:将PHP作为模块给Apache加载(LoadModule)

第四步:在访问PHP页面的时候执行PHP模块 addType

第五步:加载PHP配置文件,PHPIniDir指定php.ini的地址

第六步:加载PHP扩展,extension_dir指定扩展的路径。

集成环境安装

集成环境一:

集成环境二:

作业

  1. 配置一个虚拟主机用来做PHP站点,在配置一个虚拟主机用来支撑phpMyAdmin。
  2. 如果配置服务器使得HTML中的php代码被解析。
标签: PHP 环境搭建分布式部署虚拟主机
上一篇文章

PHP 语法(一)定界符、 执行原理、 执行过程、 语法、 输出语句、 变量、 常量、 编译型、 解释型

下一篇文章

Mysql(五)事物、 外键、 存储函数、 存储过程、 流程控制、 视图、 触发器

下一篇文章
Mysql(五)事物、 外键、 存储函数、 存储过程、 流程控制、 视图、 触发器

Mysql(五)事物、 外键、 存储函数、 存储过程、 流程控制、 视图、 触发器

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3