1.php hypertext preprocessor:超文本【HTML】预处理器
2.php:b/s【bowser/server】
php也可以作为脚本程序和客户端【但是使用的不多】
3.服务器:提供网页服务的软件的电脑就可以成为网页服务器。【还有其他服务】
index.html是服务器在配置中默认的索引页【对服务器的配置文件需要注意】
端口的占用问题?【netstat】
静态网站和动态网站的区别?【数据的变动:是否数据进行变动。web2.0】
对于nginx或者apache而言,他们执行的是对文件结构进行管理【请求的路径解析和服务器上文件的管理】【对服务器软件机制要了解】
【正是这样的机制才是问题关键】
4.php
如果分开安装时,php作为apache的一个模块进行扩展
(1)【loadmodule加到apache的配置文件中】
(2)【然后要指定将php文件交给php的模块进行处理:addType application/x-httpd-php.php】
【或者使用 addhandle写进配置文件:问题是文件名带‘.php‘便被认为是php程序被php模块执行】
【或者:(官方推荐)
SetHandle application/x-httpd-php
】
【以上便完成将php文件通过php模块执行】
【还需要对php的配置文件加载工作:因为php作为apache的模块,所以还需要在httpd.conf中进行配置(phpiniDoc文件的载入工作)】
【以上三个配置便能实现对php模块的完整整合】
需要对php手册中的安装情况进行读写
【在nginx中是什么情形】
【另外根据需要对php的需求,开启php的扩展。在php.ini中进行配置,也需要开启服务器进行重启】
5.mysql
安装时需要配置安装目录和数据存放目录【这块是重装mysql经常出错的地方:mysql组织数据的地方】
【安装完成之后需要进行配置:配置数据库的用途方面,数据库的端口和连接数,以及严格模式(对sql语句的审查),对数据库编码】
【在公司机器上进行安装一次mysql,并且对数据进行测试】
【保证php与mysql连接:直接将php关于mysql的模块开启即可。在php默认目录下安装phpmyadmin项目实现php对mysql的管理】
【mysql安装中经常出错的就是:卸载之后的重新安装。主要是数据存放目录并没有删除。】
【mysql远程访问就是一个b/s结构,需要安装客户端软件,并且装php扩展(mssql也是)进行配置之后便可以正常连接】
【数据库连接和tcp连接的问题。并发的问题】
其实整个wamp安装过程就是这个逻辑【其实并不难】
6.基于域名的虚拟主机的配置【一台机器配多个域名:apache配置虚拟主机sever。在虚拟主机下配置rewrite规则】
配多个域名的情况
本地配置工作环境的步骤:
【一整套的配置工作:hosts配置域名和ip对应关系(实际中的网络这个配置工作是被DNS数据中心实现)。首先本地解析(硬解),没有才走到外网服务器对域名和ip解析】
【然后在apache中的config文件对域名进行虚拟主机处理,对域名的根目录进行设置。还有rewrite规则】
【然后便能实现直接访问】
买火车票使用hosts硬解ip节点【利用海外的节点】
7.访问权限问题
在别的盘【相较于网站根目录而言,因为我们常见的配置是在根目录下新建项目,相当于根目录的子目录】创建新的项目【在vhosts中进行配置】是否可以?
显示问题是【forbidden情况,没有权限问题】
在httpd.conf中有Directory中进行权限的设置
【
options followsymlinks(指符号链接?linux下)//
allowoverride none//是否启用分布式文件?
order deny allow//对权限的限制。对deny和allow命令执行的顺序【先deny后allow】
deny from all//也可以deny from 129.。。。【实现对ip访问的限制】
】
但是在httpd.conf(或在vhosts文件)中可以通过单独执行的路径进行配置【便能设置新的位置(可以在任何位置下)进行配置】
【这种方案相当于对配置位置进行重置权限】
【在新建的盘内更改了默认的索引页名,导致没有默认索引存在,会出现forbidden。这是因为索引页和索引列表的配置问题】
【索引页列表同样需要权限:options Indexes followsymlinks】
【索引页和索引列表的机制:在配置文件中设置索引页(可以加多索引页),如果没有索引页则显示索引列表【这也是配置中需要的情形,方便开发】(默认肯定不开启,为了安全性)】
对权限执行规则需要注意【这个与服务器机制有关】
8.分布式配置文件【针对某个目录进行固定的配置.htaccess文件中进行配置‘rewrite’之类】
【场景是:
我们对机器的权限并没有那么容易,我们只有空间
或者是为了统一进行管理,但是不用在整体机器上进行修改
】
我们在空间上进行rewrite规则配置便只能使用分布式配置文件
AllowOverride 【这里进行修改之后,便允许进行分布式配置文件】
在.htaccess中进行directory进行权限限制工作
这个场景在独立机器没有应用,但是在空间中却是存在。而且不需要重启就能重启。【但是效率低下】
9.php的运行周期
(1)apache来调用php模块
(2)初始化php模块【读取php.ini和加载php的扩展】
(3)处理php代码【读php代码,词法分析,语法分析,生成opcode代码(zend引擎能够识别并执行)】
(4)php模块将处理结果返回到apache
(5)释放资源
php代码嵌入到html中,即使php代码被html注释,但是依旧被执行
【
返回文件是
原因是:
php代码嵌入到HTML代码中,php进行代码检查之后,并不认为 是一个注释,但是代码肯定会被执行
因此就会返回这个结果
】
src属性【iframe等GUI组件的原理是什么?】
src属性值相当于进行一次url请求,获取相应地址上的结果【与正常浏览器交互是一致的】