本周一自学最后目标
能认知PHP中文网站(页面)的运转机制;能构筑PHP中文网站(页面)的运转自然环境,包括apache,php和mysql;能构筑多公交站点应用领域应用领域软件;PHP与运转自然环境如是说
PHP如是说
静态页面(中文网站)
是不能“变动”的页面(文本)。
静态页面(中文网站)
是常因下载的时间或相同的人而呈现出相同文本的页面。
重要经营理念:前台流程(比如说php)的运转结论(静态流程),最后的目地,是为的是“输入”前台的静态页面。
PHP发展史
英语:PHP: Hypertext Preprocessor,LZ77预CPU
PHP/FI (form Interpreter)在 1995 年由 Rasmus Lerdorf 建立。起先JAVA取名“Personal Home Page Tools”。 PHP/FI 2.0 于 1997 年 11 月正式宣布发布了非官方正式宣布版。Andi Gutmans 和 Zeev Suraski 在合作开发中,发现 PHP/FI 2.0 机能显著严重不足,只好他们改写了标识符。这是 PHP 3.0,这是较为吻合现在PHP句法的一个版。2000年5月,PHP4.0问世,操控性获得非常大的提高。2004 年 7 月,PHP5.0正式宣布发布,导入了捷伊第一类数学模型和大批新机能,也是目前应用领域中的非主流版(5.4)。PHP6由于资金严重不足,没有正式宣布正式宣布发布。最捷伊PHP版是PHP7。在世界上约80%以内的中文网站都采用了php控制技术作为中文网站前台服务流程,如下表所示右图:
PHP的特征
web服务端的非主流合作开发词汇,用以同时实现采用者的允诺开放源码应用领域软件,大部份作业系统下均可运转。进阶单纯,加速合作开发。全力支持非主流资料库,比如说MySQL,MSSQL,Oracle等PHP运转自然环境如是说
应用领域软体发展如是说
C/S模式(结构):
C: Client(客户端)
S: Server(服务端)
B/S模式(结构):
B: Browser(下载器)
S: Server(服务器)
B/S模式的访问原理,是通常所说的“上网”,图示如下表所示:
PHP静态中文网站运转原理
图示如下表所示:
资料库应用领域软件: MySQL, MSSQL, Oracle, db2, informix。。。。。
Web服务器应用领域软件: Apache, Nginx, IIS, 。。。
下载器应用领域软件: Chrome, FF, IE。。。
那,PHP在哪儿?继续展开“中文网站服务器”部分,如下表所示图右图:
Web服务器:Apache
后端词汇:PHP数据:MySQL
几个相同的PHP运转自然环境
WAMP自然环境: Windows + Apache + MySQL + PHP
LAMP自然环境: Linux + Apache + MySQL + PHP
LNMP自然环境: Linux + Nginx + MySQL + PHP
今天要解决的最主要的问题:构筑一个可以执行PHP流程的web服务器,并采用PHP输入“hello world”, 以及当前时间,并能“连接到资料库”
Apache的安装、配置与管理
PHP运转自然环境安装总体目录规划
确定我们要安装的3个应用领域软件的对应目录类似如下表所示右图:
H:/itcast/class/bj-php-69/wamp/
apache/
php/
mysql/
特别注意:
1,安装的整个路径中不要出现中文和空格等特殊字符。
2,以后php文件名也不要出现中文和空格等特殊字符。
Apache的安装
Apache的安装
对应的应用领域软件如下表所示:
Apache安装步骤:
解压“httpd-2.4.29-x86-r2.zip”,并将解压后的大部份文件拷贝到最后目标文件夹wamp/apache下。修改apache主配置文件(httpd.conf)中的“SVRROOT”为apache的实际目录。提示:要修改的文件为:wamp/apache/conf/httpd.conf,约第38行处。
管理员模式下运转cmd(或powershell),并在其中运转apache/bin下的命令httpd.exe,如下表所示右图:httpd.exe -k install
提示: 1,httpd.exe所在位置为:apache/bin/目录中
如果想要删除该服务,则运转:httpd.exe -k uninstall双击打开如下表所示文件并启动服务:wamp/apche/bin/ApacheMonitor.exe右下角有如下表所示图标:
再双击图标:
注意:
如果安装失败,有可能是缺少如下表所示的windows系统模块:
则先双击安装它,然后再安装apache!
测试安装结论
在下载器中测试安装后的“默认中文网站”:
下载这个地址: http://localhost,或http://127.0.0.1
可以看到页面,就表示安装配置成功!
我们还可以将之前做好的“京东商城”项目文件(index.htm和相关文件夹和文件)拷贝到apache/htdocs/jingdong/目录中,并进行下载,就成为的是一个较为正式宣布的中文网站的页面了。
一个重要经营理念:
所谓一个中文网站,是一个文件夹!
所谓一个页面,是一个文件!!
Apache目录如是说
目录/文件
如是说
bin/
.exe, .dll等主要可执行流程的目录。
ApacheMonitor.exe
监视流程,通常用于apache服务的启停操作。
httpd.exe
web服务器的主流程。该流程启动时,才能访问服务器。
(通常都是以系统服务的形式启动)
conf/
apache的配置文件目录
httpd.conf
是Apache的主配置文件,每次启动都会读取的文件。
conf/extra/
其他配置文件目录
httpd_vhosts.conf
Apache应用领域应用领域软件的配置文件
htdocs/
中文网站的默认根目录,用于保存中文网站中的页面文件(html、php等)
logs/
存放apache运转时的有关运转记录
modules/
存放Apache的可扩展模块文件。
Apache的配置
apache主配置文件:httpd.conf
apache的主配置文件为:wamp/apache/config/httpd.conf
注意:
1,配置文件可以修改以同时实现某些机能。
2,配置文件修改后,需要重启apache才生效。
3,配置文件标识符如果出错——则apache重启时会失败。
检测配置文件句法
我们当然是试图写“正确的”标识符,但谁都有可能出错。
关键是,我们常常不容易看出错在哪里!
这就需要有个“工具”来给我们指引方向:尽可能指出错误所在!
工具有现成的,是:wamp/apache/bin/httpd.exe 这个文件(命令行文件)
用法:
在cmd命令行窗口中:
h:/itcast/……/amp/apache/httpd.exe(写完整路径) – t
示例如下表所示:
配置自然环境变量
如果配置好自然环境变量,该命令的执行就更便捷,类似这样:
httpd.exe(直接写文件名,无需路径) – t
配置自然环境变量的具体做法:
我的电脑》》右键》》属性,如下表所示右图:
在上述“path”中进行编辑:
将httpd.exe所在的文件夹路径添加到里面,并采用英语分号(;)跟前面的隔开。
特别注意:不要删除之前的文本!!!!!!!!!!!!
配置好之后,就可以直接采用单纯的命令句法了,如下表所示:
Apache的启动和停止
启动了apache,就表示web服务器可以采用(中文网站可以访问)。
停止了apache,就表示web服务器不能采用(中文网站不能访问)。
方式1:通过Apache服务监视器(apachemonitor.exe)
文件apachemonitor.exe的位置在wamp/apache/bin目录中。
方式2:通过window系统服务:
方式3:通过命令行方式(需管理员身份):
启动:net start apache2.4
停止:net stop apache2.4
认识几个相关概念
服务器:
一般,指对外界提供某种机能服务的计算机系统。
通常有这些常用服务器: web服务器, 邮件服务器, ftp服务器, …..
客户端:
通常是访问服务器的终端设备。在web访问领域,通常也指下载器应用领域软件。
允诺:
是客户端向服务端发出一定的“信息”,告知服务器“需要什么”。
响应(应答):
服务器根据访问者(允诺方)的允诺所返回的相应结论,结论其实是一个页面。
IP地址:
是一个服务器的在互联网上的“数字身份”,是其给分配的一个数字编码,类似这样:
192.168.19.22
112.34.123.82
小细节:共分4段,用英语点号(.)分割,每一段的数字只能从0-255。
特殊IP地址:
127.0.0.1:表示本机,是自己正在操作(运转流程)的电脑的ip
192开头,172开头的ip地址:规定只用于局域网的ip地址。
域名:
是一个服务器的对外“好看好记”的名字。
取域名的作用,最主要是给人看,使人容易记住。
下载器通过域名并不能找到对应服务器,而需要转换为ip地址才能找到——这是“域名解析”过程。
域名解析:
是,输入域名时由某种设备或控制技术,将该域名转换为“ip地址”的过程——这样才能找到该服务器。
域名解析服务器(DNS):互联网上放置的很多的专门用于进行域名解析(域名转换为ip)的服务器设备。
所谓,解析,其实非常单纯,是“找对应关系”,比如说:
192.168.155.61 www.luo.com
23.12.87.33 www.lining.com
其含义是:访问某个域名(中文网站),就可以找到对应该域名所在行的IP地址。
每台电脑,都有一个最精简的最小规模的“域名解析服务器”,其实只是一个文件:
位置在这里:windows/system32/drivers/etc/hosts(注意,最后这个是一个没有后缀的文件名)。
在有些操心系统中,需要采用“管理员身份”才能修改该文件。
演示:
端口:
可以认知为应用领域软件(网络)领域的电子化的“窗口”。其实,无非是对于“一台”电脑,用于区分其可以对外提供的“多项服务”的一种数字编号设定。
Apache(或别的web服务器应用领域软件),默认都采用80端口来提供中文网站对外访问服务(是web服务)!
又比如说:
ftp服务器通常采用21端口来提供文件上传下载服务。
邮件服务器通常采用25端口提供发送邮件服务,并采用110端口来提供收取邮件服务。
图示如下表所示:
统一资源定位器(url)
url是 uniform resouece locator,即“统一资源定位器”,即我们通常所说的“网址”,是用于描述网络上某种资源的详细位置信息的一种规范,是一串字符串。其形式如下表所示:
协议://服务器名[:端口号][/路径][/文件名]
其中,上述中括号中的部分是可以根据具体情况进行省略的。
比如说:
http://www.baidu.com
http://www.baidu.com/index.php
http://ent.people.com.cn/n1/2018/0603/c1012-30030747.html
中文网站访问流程
从下载器输入一个网址,到我们看到这个页面展示出来,其中的过程大致为:
先在本机的hosts文件中,查找域名所对应的ip;如找到,则根据该ip就可以找到并访问该服务器了,服务器返回相应页面信息,访问结束。如没有找到,则到互联网上的dns服务器中,查找域名所对应的ip;如果找到,则根据该ip就可以找到并访问该服务器了,服务器返回相应页面信息,访问结束。如果没有找到,则下载器会有类似“无法找到服务器”的报错提示,访问结束。完整图示如下表所示:
上午回顾
php的基本的运转原理:下载器》apache》php》资料库模块》资料库
apache的安装和基本配置:
拷贝文件修改apache/conf/httpd.conf文件中的SRVROOT的值。执行安装命令: httpd.exe -k install启动apache的服务apache的句法检测命令:
httpd.exe -t
自然环境变量的配置:
apache的启动和停止:
几个概念:
服务器(应用领域软件),客户端(应用领域软件),允诺,响应,IP地址,域名,
域名解析:将域名转换为IP的过程
先由本机的hosts文件来解析:windows/system32/drivers/etc/hosts
再由网络上的DNS服务器来解析
端口:是一台“强大的服务器”可以对外提供多种服务的一种区分机制(数字化的标志)
url:网址。。
访问过程:先hosts文件,后DNS服务器。
PHP的安装与配置(重点)
任务描述:
建立一个php文件(hello.php),文本如下表所示:
<?php
echo “hello world!”;
?>
放到apache/htdocs/目录下,并访问它:
http://localhost/hello.php
PHP的安装:
PHP的安装也非常单纯,是拷贝文件——因为给大家的是一个“绿色版”。
将PHP词汇包的压缩文件解压到计划中的文件夹中即可。
PHP词汇包中重要文件和文件夹:
php.exe: php流程,用于执行我们写的phpJAVA标识符。php7apache2_4.dll: 供apche2.4采用的php7模块文件。php.ini-development 和 php.ini-production:用作php的配置文件。ext目录: 用于存放php中的扩展模块的文件配置Apache使Apache可以调用PHP:
在apche的主配置文件apache/conf/httpd.conf中,添加以下两行:
1,加载PHP模块到Apache中(作为Apache的众多模块之一):
在约180行后,添加如下表所示一行:
LoadModule php7_module php7apache2_4.dll这个文件的完整路径(在php文件夹中)
给apache设定,php文件的后缀为“.php”:在随后添加如下表所示一行:
AddType Application/x-httpd-php .php
重启apache!!!
课堂测试:
新建一个页面hello.php,其中输入“hello world” :
然后访问它:http://localhost/hello.php
结论如下表所示:
查看源标识符,如下表所示:
PHP的基本配置:
PHP的基本配置是一次性工作,做这一次就可以了。
任务描述
下一个任务:通过PHP输入当前时间,标识符如下表所示:
我们发现输入的时间结论是不对的。
这是因为PHP默认采用的时区是“格林威治时间”,比我们早8小时。
我们需要对PHP进行配置,并设定其运转时间为我们的北京时间。
获得PHP的配置文件(php.ini)
在php词汇包文件夹中,将php.ini-development文件拷贝一份,并修改文件名为:php.ini。
现在我们将前者改为(或复制为)php.ini,就获得我们需要的php配置文件。
配置相关文件
这里需要做两件事情:
1,在apache的配置文件(httpd.conf)中设置php.ini的路径
是让Apache知道我们的php.ini文件在哪里!apache是需要先读取到php.ini才能生效的。
具体做法:
在apache的配置文件(httpd.conf)中,添加php模块那行之后,再添加这一行:
PHPIniDir “php.ini文件所在路径”
//注意:只要路径,不要文件名
2,在php配置文件(php.ini)中设置timezone为PRC:
然后重启apache,并访问刚才的页面(http://localhost/hello.php),结论为:
提示:
1,以后,还可以(需要)在php.ini中进行其他项目地配置,但在apache的httpd.conf文件指定php.ini文件的位置的工作就不需要重复做了!
查看php执行自然环境
执行如下表所示语句,就可以查看整个php的执行自然环境相关信息:
<?php
phpinfo();
?>
MySQL的安装与配置
php.ini中设置mysql资料库模块
下一步的工作:在php中连接到资料库,
测试标识符如下表所示:
具体做法分3步:
第1步,php.ini中,设置php的模块位置(找关键字extension_dir)。
第2步,php.ini中,开启mysqli模块(实际上,只是去除注释,关键字php_mysqli)。
第3步,安装mysql资料库并配置它(这是一个完整的安装过程)。
MySQL的安装
然后一步一步往下安装:
MySQL的配置
mysql安装结束后,就可以认知进入到配置环节:
测试在PHP中连接MySQL资料库
重新测试刚才的连接资料库的流程, 结论为:
至此,我们有关PHP的合作开发运转自然环境的大部份环节都打通了!
多公交站点应用领域应用领域软件配置
默认的初始公交站点配置
apache安装后,有一个默认公交站点,其配置都在apache的主配置文件(apache/conf/httpd.conf)中。
主要包括如下表所示几项:
1,公交站点域名:
ServerName localhost
域名是可以设置的!
2,公交站点位置(文件夹位置):
DocumentRoot H:\itcast\class\bj-quanzhan4\amp\Apache\htdocs
公交站点位置是可以设置的!
3,公交站点文件夹的访问权限设置:
采用<Directory> … </Directory>配置项来配置。
4,公交站点默认显示的页面(首页):
DirectoryIndex index.php index.html
默认页面(首页)是可以设置的。
一项项的设置示例如下表所示右图:
中文网站域名的设置
句法为:
ServerName:要设定的中文网站域名(服务器名)
中文网站位置的设置
句法为:
DocumentRoot 要设定的中文网站所在的位置(文件夹)
中文网站文件夹访问权限的设置。
文件夹的访问权限的设置形式如下表所示右图:
<Directory “要设置权限的文件夹路径”>
Options设置项
AllowOverride设置项
Require权限设置项
</Directory>
各项解释如下表所示:
Options:用于设置一些系统选项,通常window系统中就用Indexes就可以了。
Options Indexes //表示允许列出目录结构(如果没有可显示的页面)
AllowOverride:用于设置“可覆盖性”,即是否允许在项目文件中覆盖这里的访问权限设置:
AllowOverride All //表示可覆盖
AllowOverride None //表示不可覆盖
Require:用于设置可访问权限,常用的有:
允Require All granted
Require All denied
<RequireAll>
Require all granted
Require not ip 192.168.1.102 192.168.1.103
</RequireAll>
<RequireAny>
Require all denied
Require ip 192.168.1.102 192.168.1.103
</RequireAny>
典型权限设置示例:
<Directory “h:/itcast/php60/wamp/www”>
Options Index
AllowOverride All
Require All granted
</Directory>
中文网站默认页面的设置
默认页面是输入一个不带网页的文件名的路径的时候(最常见的是只输入域名),自动打开的页面。
比如说这样的一个网址:
http://www.itcast.cn/subject/phpzly/
就能打开一个页面(虽然地址上没给出要查看的页面文件名)。
默认页面的设置方式如下表所示:
(其中IfModule指令是可以省略的)
句法为:
DirectoryIndex 页面名1 页面名2 页面名3 ….
说明:
1,可以设置多个页面,前面的不存在,就依次找后面的。
2,该设置项可以放在<Directory>配置段中,表示该公交站点文件夹下的默认页面设置。
多公交站点应用领域应用领域软件的含义:
多公交站点应用领域应用领域软件:
是指,在一台物理意义上的电脑(服务器)中,配置多个中文网站/公交站点,并都可以对外提供“web访问服务”,外界看起来是有多个公交站点(或多个服务器)的样子!
每个公交站点,也是类似一个主机——这是应用领域应用领域软件。
配置多公交站点应用领域应用领域软件:
配置多公交站点应用领域应用领域软件可以分两步:
1, 在apache的主配置文件(httpd.conf),导入多公交站点的配置文件(应用领域应用领域软件配置文件)
2, 在应用领域应用领域软件配置文件(httpd-vhosts.conf)中,再挨个中文网站进行配置(每个中文网站一段配置)
分述如下表所示:
在apache的主配置文件中导入应用领域应用领域软件配置文件:
在应用领域应用领域软件配置文件(httpd-vhost.conf)中挨个公交站点进行配置
在应用领域应用领域软件配置文件中,就可以配置多个公交站点了,每个公交站点的形式大致如下表所示:
最后,一个观念总结:
一个中文网站,是一个文件夹;反过来说,一个文件夹,就可以当做一个中文网站!
谁在其中发挥作用?——Apache!