ch01 PHP开篇

1.1启蒙知识

思考:WAMP是什么?:集成开发环境 [Windows+Apache服务器+MySQL数据库+PHP编程]

1.1.1 站点

将网站所有相关素材都放到一个文件夹中,此文件夹就叫做站点 。

1.1.2 前台和后台

前台是给浏览者浏览的;后台是给管理员操作的,后台用来操作前台的数据。

1.1.3 静态网站和动态网站

静态网站:不支持数据交互的网站。(.html  .htm)

动态网站:支持数据交互的网站。(动态网站中可以存在静态网页)

1.1.4 BS和CS架构

Browser浏览器—Server

服务器

通过浏览器去访问服务器【新浪、搜狐】

Client客户端—Server

服务器

通过一个客户端软件去访问服务器【qq、MySQL】

1.1.5 客户端和服务器端

客户端给服务器发送一个请求(HTTP请求),服务器会把静态资源(HTML代码、图片、js、CSS)发送到客户端(HTTP响应),客户端通过浏览器解析返回的代码,就形成了我们看到的页面。

注:网页Web→HTML(超文本标记语言)—浏览器—网络Net_internet英特网:HTTP(超文本传输协议)

1.1.6 端口和端口号

 

端口号范围:0-65535。1024以下端口号留给系统,80端口一般留给Web服务器使用,21端口留给FTP使用【FLashFXP】,25端口留给邮件服务器使用。【查询端口号占用情况(开始-运行-cmd[command]或者[windows+R]-cmd)——【netstat -ano】,本地地址最后一位表示已占用端口号。】

   

1.1.7 URL地址(Uniform Resource Location)

定义:统一资源定位符:Internet的Web服务器中唯一标识网页的访问位置的标记符。

组成:所用网络协议 Web服务器主机名 端口号 资源名

  

1.1.8 实现动态网站的技术(inurl:*.asp)[?表示传参:get,post后无参数]

实现技术

网站后缀

备注

ASP

.asp

执行原理:编译源永久链接,小网站,老,不推荐。

PHP

.php

入门简单,开源,模板多,30分钟一个网站

.NET

.aspx

dot点 .net|C#|XP

JAVA

.jsp

注:PHP概述【定义:全球网站使用最多的脚本语言之一;优点:易学易用易扩展;特点:开源免费、跨平台性良好、面向对象、支持多种数据库(MySql最搭)、快捷(可以嵌入HTML)。】

1.1.9 常用编辑工具

EditPlus、Notepad++ 小巧便携

ZendStudio Java开发的集成环境,功能强大,运行速度慢。

1.2 PHP开发环境搭建

思考:语言的运行是否需要环境?

解答:语言的运行需要环境,Apache为PHP运行提供了环境。IIS(微软公司开发的,为asp和aspx提供环境)也可以为PHP运行提供环境。

PHP:服务器端(web)脚本编程语言

1.2.1 Apache的安装【Apache:Web服务器软件

(1)Apache的安装

a) 使用安装包进行安装【The feature,and all subfeature,will be installed on local head drive.将功能和所有子功能都安装到本地硬盘上】

b) 官网下载免安装版本【https://httpd.apache.org/download.cgi】

注:安装完成将在右下角任务栏出现一个羽毛状的图标。

Apache安装详细步骤【在Apache的安装路径中不能出现中文

使用安装包进行安装   

测试服务器

在浏览器的地址栏中输入http://localhost,看到It works!表示服务器正常

localhost:本地主机 等于 127.0.0.1,这个IP地址很特殊,表示就是本机。

服务器的操作

Apache服务器【启动Start、关闭Stop、重启Restart】,图标右键|单击

(2)Apache的启动

a) 自带工具Monitor启动

b) 开始→所有程序→Apache

c) 计算机→管理→服务和应用程序→服务→Apache

Apache启动问题:端口占用

l 检查端口占用:(windows+R)cmd →netstat  -ano    查看当前占用端口程序:

l 结束当前操作:Ctrl+C   (回到原始操作|或者使用清屏)

l 查看当前进程:tastlist  查看所有进程和对应PID

l 启动任务管理器关闭占用端口的进程在开启

(3)Apache的配置

a) 目录结构

b) 虚拟主机配置

c) 访问权限配置

Apache的目录文件【httpd.conf中#表示注释,配置文件不区分大小写】

1) 更改虚拟目录【注:虚拟目录相当于站点,但是站点可以随便放置,虚拟目录不可以(documentroot)】

① 更改虚拟目录路径                          DocumentRoot "E:/wamp/apache/htdocs"

② 为修改后的的虚拟目录设置访问权限          allow from all

注:修改完毕重启服务器,要注意浏览器有缓存。

2) 更改首页(网站下有很多网页,设置默认首页。)

① 在Apache的配置文件中查找DirectoryIndex ,这个指令是设置网站首页。在DirectoryIndex 指令后面添加 index.php。

3) 更改端口号(端口是门,监听的是值班人员,端口[监听]可以存在多个)

① listen 端口 修改端口号后重启服务,然后使用 http://localhost:端口号/php页面 来访问,如果端口号为80时可以省略。

l 访问权限配置

即“Order deny,allow”和“Deny from all”,其中order的作用是指定判断权限的顺序,先判断逗号之前的,然后判断逗号之后的,如“Order deny,allow”表示先判断deny语句再判断allow语句。然后就是deny和allow的配置了,如“Deny from all”表示拒绝所有的,由于没有allow语句,所以最终的判断结果就是拒绝所有。

4) DNS解析

思考:在互联网上唯一标识一台计算机的是什么?:IP地址

获得一台电脑的IP地址,例如ping www.baidu.com 得到220.181.57.217,输入http://220.181.57.217/就能进入百度页面。

IP地址比较难以记忆,所以我们通过一个域名去对应一个IP地址,用于访问计算机。域名不能唯一区分计算机,所以必须将域名转换成IP地址去访问【域名解析】。——DNS(DomainNameSystem域名解析系统):将域名解析成IP地址的数据库。

客户端输入域名后,首先会请求最近的DNS服务器(无处不在,浏览器会去最近的服务器进行解析),将域名解析成IP地址。最近的DNS解析服务器就是本机。本机的DNS解析数据库在C:\Windows\System32\drivers\etc\hosts文件,可以打开hosts文件,进行修改。

5) 虚拟主机配置:1台电脑可装1个Apache,一个Apache可以支持多个网站。从浏览者的角度看起来每个网站都是独立的主机——称之为虚拟主机。

① 开启虚拟主机配置:Apathe主配置httpd.conf中的“#Include conf/extra/httpd-vhosts.conf”,将前面的注释“#”去掉。

② 然后在httpd-vhosts.conf中增加如下代码:【需要先解析www.classcode.com的域名】

<VirtualHost *:80>

DocumentRoot "E:/wamp/www/classcode"

ServerName www.classcode.com

<Directory>

allow from all

</Directory>

</VirtualHost>

1.2.2 PHP的安装

a)  使用安装包进行安装【版本低,但是省略了环境配置】

安装完毕后重启服务器,测试htdocs下的test.php:     <?php  phpinfo();  ?>

b) 官网下载免安装版本

在文件夹下解压,将PHP模块引入Apache【配置Apache下的httpd.conf

LoadModule php5_module "E:/wamp/php/php5apache2_2.dll"

AddType application/x-httpd-php .php .phtml

PHPIniDir "E:/wamp/php"

安装完毕后重启服务器,测试htdocs下的test.php:     <?php  phpinfo();  ?>

c) php配置文件

1.2.3 MySQL的安装

数据库在网站中的地位:用于保存数据

常见数据库:Access【微软】、MySQL【瑞典MySQL AB→甲骨文】、SQL server【微软】、Oracle【甲骨文】

安装完毕后可以看到一个MySQL的小黑窗【命令行】。输入安装密码【自定:root】表示安装成功。

1.2.4 使用Dreamweaver CS6编写PHP程序,如何使用DW创建PHP站点

我们都知道,DW即Dreamweaver的缩写,这是个非常优秀的可视化的网页制作工具,但是你知道吗?它现在早已经超出了早前版本的功能了,针对不同的WEB开发者,它都有相应的集成环境,下面我们就一起来学习一下吧。

DW CS6为Adobe公司最新版的DW,所以,其对动态语言增加了很多友好的支持,例如:代码补全、代码提示、语法检查等,那么用它来编写PHP程序已经很给力了。接下来我们学习使用DW演示一下创建一个动态站点。

1.2.5 文件的卸载

不能直接删除文件夹,注册时保留了注册表。

控制面板→程序和功能→卸载和修改程序→找到相应程序卸载程序【卸载完成应该到安装的目录文件下手动删除残留文件】

1.2.6 WAMP集成环境安装

LAMP:Linux_操作系统下 Apache_Web服务器 使用 MySQL_数据库 运行 PHP_脚本语言

LAMP:Windows_操作系统下 Apache_Web服务器 使用 MySQL_数据库 运行 PHP_脚本语言

ch01 PHP开篇的更多相关文章

  1. 一年之计在于春,2015开篇:PDF.NET SOD Ver 5.1完全开源

    前言: 自从我2014年下半年到现在的某电商公司工作后,工作太忙,一直没有写过一篇博客,甚至连14年股票市场的牛市都错过了,现在马上要过年了,而今天又是立春节气,如果再不动手,那么明年这个无春的年,也 ...

  2. ASP.NET Web API 开篇示例介绍

    ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...

  3. Entity Framework入门系列(1)-扯淡开篇

    这是我在Cnblogs上的第一个系列,但愿能坚持下去: 惯例索引 Entity Framework入门系列(1)-开篇兼索引: Entity Framework入门系列(2)-初试Code First ...

  4. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引

    因为内容比较多,所以每篇讲解一些内容,最后会放出全部代码,可以参考.操作中总会遇到各式各样的问题,个人对部分问题的研究在最后一篇 问题研究 里.欢迎大家探讨学习. 代码都经过个人测试,但仍可能有各种未 ...

  5. web自动化工具-开篇

    web自动化工具-开篇 最近几年,前端技术风一样的速度迭代更新,各种框架工具雨后春笋般涌现,作为一个平凡的开发者,也只能在洪流中沉沉浮浮,微不足道,以前前端叫做切图仔.美工,如今改了称号叫前端工程师, ...

  6. [翻译svg教程]svg学习系列 开篇

    目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...

  7. ABP理论学习之开篇介绍

    返回总目录 为了和2016年春节赛跑,完成该系列博客,我牺牲了今天中午的时间来完成该系列的第一篇----开篇介绍.开篇介绍嘛,读过大学教材的同学都知道,这玩意总是那么无聊,跟考试没关系,干脆直接跳过, ...

  8. [.net 面向对象程序设计深入](0) 开篇

    [.net 面向对象程序设计深入](0)开篇        [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...

  9. [.net 面向对象程序设计进阶] (1) 开篇

    [.net 面向对象程序设计进阶] (1) 开篇 上一系列文章<.net 面向对象编程基础>写完后,很多小伙伴们希望我有时间再写一点进阶的文章,于是有了这个系列文章.这一系列的文章中, 对 ...

随机推荐

  1. DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。

    UDP编程: DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流. DatagramPacket(信件):数据包,是UDP下进行传输数 ...

  2. k8s的使用

    . 查看 kubectl 的状态 kubectl version . 查看集群信息 kubectl cluster-info . 查看节点信息 kubectl get nodes . 创建一个发布 k ...

  3. 搭建Airflow数据流调度器

    服务器使用的是centos系统,需要安装好pip和setuptools,同时注意更新安装的版本 接下来参考安装好Airflow Airflow 1.8 工作流平台搭建 http://blog.csdn ...

  4. k8s(6)-滚动更新

    用户希望应用程序始终可用,开发人员应该每天多次部署新版本的应用程序.在Kubernetes中,这是通过滚动更新完成的.滚动更新允许通过使用新的实例逐步更新Pods实例来实现部署的更新,从而实现零停机. ...

  5. WebStorm 11的安装与激活

    之所以选择WebStorm 11的这个版本主要是因为他的激活比较方便. WebStorm官网上目前已经不是11版本了,这意味着你得通过其他途径下载WebStorm 11(如:度娘). 下载安装完之后, ...

  6. CocoaPods 添加WebP失败解决办法

    pod 'sdwebimage/webp' 下载libwebp 超时 [!] Error installing libwebp [!] /usr/bin/git clone https://chrom ...

  7. mysql按位的索引判断值是否为1

    DELIMITER $$ DROP FUNCTION IF EXISTS `value_of_bit_index_is_true`$$/*计算某个数字的某些索引的位的值是否都为1,索引类似1,2,3, ...

  8. 恒生UFX交易接口基本介绍说明

    1.恒生UFT和UFX有什么区别? UFT是一个极速交易系统,UFX是一个统一接入系统.交易系统很显然是可以进行股票交易的,UFX是所有后台交易系统的接入系统,不管后台是什么样子的交易系统都是可以通过 ...

  9. .NET开发人员遇到Maven

    由.NET转向Java开发,总是会带着.NET平台的一些概念和工具想着在对应的Java平台是否也有着相同的解决方案.第一次用Maven随手打开pom.xml,看着里面许多属性描述我的感觉就是这是一个M ...

  10. 自定义Flume Sink:ElasticSearch Sink

    Flume Sink的目的是从Flume Channel中获取数据然后输出到存储或者其他Flume Source中.Flume Agent启动的时候,它会为每一个Sink都启动一个SinkRunner ...