学习PHP语言入门-第二天-准备

距离上一篇N天系列教程的编写已经过去很久了,但是教程主打N天入门的本质在于在短篇幅的推文中尽量让大家了解一门语言,所以其实我个人感觉和更新周期没有太大关系!(好吧,我是在为我没有及时更新找借口)废话不多说,进入今天的主题。

今天的主题是 -- 准备,在开始一门语言的学习或开发之前,我们肯定是需要一些前期准备的。特别是服务端语言,他不像前端HTML、CSS和JS有着各浏览器的原生兼容,需要额外的支持,PHP也是一样。这里要给大家扩展一个知识:编程语言的分类。

一般来说,编程语言分为两类:解释型和编译型。两者之间有什么区别呢?顾名思义,解释型语言,在运行的时候一句一句读取代码进行解释,然后运行出结果,如html、css、js。而编译型语言,多了一个编译的过程,事先将所有代码编译成更容易被计算机理解的语言,再运行,如Java、C。所以,解释型语言,没有编译过程,但运行时速度会稍慢一些,因为每一句语句都要翻译。而编译型语言,运行时速度较快,但因为有编译过程,编译时的速度可能会很慢。

而PHP现在主流的看法还是觉得他是解释型语言,那谁来解释他呢?当然是PHP自身的引擎啦。下面,就让我们在自己电脑上手把手安装PHP7!

PHP7安装

我个人觉得现在各种软件的安装已经是傻瓜式的了,其实也可以让大家安装phpstudy之类的集成环境,一键安装PHP所需的所有环境。但是我还是觉得让大家一步一步来装一个语言的运行环境要比一键的东西来的好的多。下面的安装步骤均以windows系统为例,mac系统的话,自行......

那要安装PHP7,首先第一步当然是下载PHP7的安装包。访问PHP官网的下载页面:http://http://php.net/downloads.php,可以看到截止到我写下这篇推文的时候,最新的稳定版本是7.2.3。

选择windows downloads下载,这时会跳转到更详细的下载页面。根据自己的电脑配置选择对应的文件下载即可,这里我选择了64位的线程安全的下载包。

下载成功之后我们将他解压出来,这时我们会看到一个名为php-7.2.3-Win32-VC15-x64的文件夹。我们将其移动到D盘下的Program Files文件夹下(这里只是方便以后查找,理论上说其实不论放在哪儿都是可以的)。移动完成之后,其实我们已经安装好PHP7了。这时打开cmd命令行工具(如何打开请自行百度),输入php -v,按回车键,理论上来说,命令行工具应该返回当前的php版本。但实际上,你会得到以下的错误提示:

好奇怪啊,明明已经安装了啊,为什么会报这样的错呢?因为(敲黑板!),命令行里面输入一行命令运行和普通程序运行有很大的区别,普通运行一款程序,我们通常是点击它的exe可执行文件或者可执行文件的快捷方式,而命令行运行命令的时候输入的是程序的名字,那命令行怎么通过程序名找到该程序呢?其实,当在命令行里面输入一行命令并执行的时候,它会在当前的环境变量(不是电脑)里面去搜与该命令对应的程序执行

我们已经安装了php却找不到该命令,说明php不在当前的环境变量里面。那么,我们需要做的,就是添加环境变量。怎么添加环境变量?首先,将你的鼠标放到【我的电脑】(win7)或【此电脑】(win10)的图标上,然后点击鼠标右键,在弹出的选项中选择【属性】。这时你将会看到下面的页面:

点击左边的高级系统设置->环境变量,在新出现的页面中,双击Path变量:

双击Path变量之后就会出现Path的设置,这里需要的注意的是,win7界面和win10界面有些不同,但是相同的是,找到Path变量之后,都会弹出设置Path的窗口。win7下需要自己手动编写变量,而win10可以通过浏览按钮新增。

win7只需要在已有内容的最后添加上php文件所在的路径就行(php文件路径就是你之前移动php文件时的路径,如果你移动到和我相同的位置,那么路径就和我上面标红的一样,否则请换成你php文件的路径即可)。

然后点击确认,之后再打开cmd命令行工具运行命令php -v,就可以看到以下输出,说明环境变量配置成功了!

至此,php7就已经安装成功。我们之后就可以正式开始使用php进行服务端编程了。

基本概念

在开始使用php编程之前,我们还需要了解一些基本概念。

1. 开发环境 vs 生产环境

在以后的日子里,你会越来越多的看到开发环境和生产环境这两个词。开发环境就是我们在程序开发阶段,在本地或者测试服务器上使用的环境,这个环境用来测试程序整体或某个部分是否能够正常运行。而生产环境,则是程序正式投入使用时使用的环境,一般来说,一个程序部署到生产环境之后就不能像在开发环境那样修改调试了,因为在生产环境上的每一次修改调试,都会影响到用户的正常使用。所以,作为一个合格的程序员,应该在开发环境下处理好大多数bug,即使线上发现bug,也应在开发环境处理bug再更新生产环境(而不是直接在生产环境上进行修改)

2. 编辑器的使用

其实本质来说,编程语言并不受编辑器的限制,也就是说使用任何编辑器都可以实现同样的效果(即使是用记事本进行开发)。但我还是要说的是,选择好一个适合自己的编辑器,能够使开发过程变得更加便利,也能免去不少麻烦。这里,对于php开发,我推荐大家使用phpstorm这款编辑器。当然,大家也可以使用更单纯的编辑器,如notepad++,sublime2等都是没问题的。

3. 端口号

很多同学可能不知道端口号是什么,其实在我们的电脑中,有着许许多多的端口号,不同的端口号又负责不同的工作。看下图:

数据传输的两端是设备,也就是说,数据传输的时候,外在来看都是一台设备将数据直接扔给另一台设备。如电脑与打印机间的数据传输,就是电脑将数据发送给打印机。那我们仔细想想,当你按下打印按钮的时候,电脑怎么知道这么多外接设备中哪个是打印机?为什么电脑不会错误地将数据发送给键盘、鼠标?其实,这正是因为有端口的存在,不同的服务使用着不同的端口号,电脑将数据发送到某一个预先约定好的端口号,打印机也通过该端口号获取数据,那么就能保证数据的获取无误。那有的同学会说了,预先约定好的?如果我约定的端口号也是别人约定的端口号呢?当出现这种情况的时候,电脑会报错,表示指定的端口号被占用。也就是说,一种服务的端口号可以无限次变换,但一个端口号同一时间却只能容纳一个服务

回到web上来,我老说客户端给服务端发起请求,其实说白了就是给服务端设备的某一个端口发起请求,这个端口是可以自己定义的,但是默认的http端口就是80,这是全球通用的。什么意思?就是说,你可以将http服务的端口号定为1234,12345甚至其他,而别人要访问你的服务的话,就需要明确表明端口号了。你可能会问了,我用网址访问网页的时候,没有表明自己要访问哪个端口号啊?这就是我为什么要指明80端口是全球通用http服务的端口,正式因为他全球通用,所以当你访问某一个网址的时候,浏览器会默认访问该网址下的80端口。那如果你定义了服务端http的端口为1234的话,就需要在网址后表明端口号。如:http://baidu.com:1234

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324G0RZN100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励