-
什么是PHP?
PHP是运行在服务器端的脚本语言,配合mysql和html实现动态网站。
脚本语言:编程语言有更加严格的规范。编程语言不能直接执行,需要编译后再执行。脚本文件可以直接被执行。
网站:
用户角度:在浏览器中能够通过url能够访问到的html界面。http://www.cwhello.com
开发角度:网站就是一个文件夹,从某个指定文件夹下放置和获取具体某个文件的过程。
Html最主要的作用:帮助所有的用户去查看同一个文件的时候,能够看到同样的效果。
服务器:装了服务器软件的电脑被称之为服务器。
服务器软件:IIS,Apache,tomcat,telnet,ftp,mysql
Web访问
- 如何访问别人的电脑?IP,唯一标识一台电脑
- 域名和域名系统:Domain,Domain Name System(域名解析)
http://www.cwhello.com =====è
web访问原理
studyPHP,appserver,wamp,xamp都是集成环境。
PHP通常有两大软件:wamp和lamp
Wamp:windows下Apache,mysql和PHP
Lamp:Linux下的Apache,mysql和PHP
保存原来的集成环境。
1.Apache的配置文件修改,修改Apache的监听端口
2.Mysql的配置文件修改,修改其监听的端口
找到my.ini文件
将php.ini中所有对应的端口port改成非3306
通过netstat命令查看端口
搭建PHP开发环境
Apache,mysql,PHP
安装Apache
1.获取Apache安装软件。http://apache.org
2.运行安装文件
a) 配置服务器信息
b) 选择安装模式
c) 配置安装目录
3.安装成功。看到Apache运行,且是一个绿色的三角形图标
验证。在浏览器中输入localhost
安装独立环境不是为了开发,而是为了最终的项目部署。当项目开发之后,会将所有的项目文件部署到服务器上,这个时候都是使用独立的环境,从而从安全上得到保证,也方便进行不同的配置。
这个时候Apache只能操作一个静态网站。没有动态语言的支撑,也没有数据库的支撑。
Apache安装后的目录说明
安装mysql
Mysql:一个动态网站需要数据库的支持,mysql就是用来保存数据。
2.运行安装文件
a) 选择安装模式
b) 配置安装路径
3.安装完成,进入配置界面
4.选择配置模式,选择详细配置
5.选择服务器类型,选择开发者模式
6.数据库功能选择,选择多功能数据库
7.InnoDB表空间设置,默认就行
8.并发选择,选择手动,使用默认的手动下的数量
9.访问选项设置
10.选择字符集
11.Mysql服务设置
12.配置安全信息
13.执行配置
14.验证是否安装成功,控制台输入mysql –uroot –p密码
Mysql的目录结构
注意:Apache和mysql的安装目录不能使用中文和空格
备份数据库数据
- 复制原来数据库文件夹到新的数据库的data目录下(以数据库名字命名的文件夹)
- 将原来数据库的ibdata文件复制到新的data目录下,覆盖ibdata文件。(前提是新的数据库里面没有任何数据)
安装PHP
PHP不是安装文件,只是一个文件夹
1.获得PHP文件,去PHP官网下载
2.解压文件
3.复制文件夹到server目录并重命名
对Apache进行配置,加载PHP
修改Apache的配置文件来实现目的。
1.找到Apache配置文件d:server/apache/conf/httpd.conf
2.添加模块,指定php中的具体的动态链接库
3.重启Apache(所有配置文件的修改都需要重启服务才会生效)
Httpd.exe,必须进入到Apache的bin目录下执行(配置环境变量也行)
1.–M,查看Apache加载了哪些模块(可以被加载的,LoadModule前面的注释取消掉的)
2.–l,真正当前被加载的模块
3.–t,验证配置文件的正确性
默认安装后,会有一个域名被注释上,导致不能通过域名进行访问,需要取消该注释
如何让php能够工作?
告诉Apache,当用户请求的是php文件的时候,应该交给php模块去处理。
addType application/x-httpd-php .php //只要是以.php结尾的文件请求,都交给php处理
重启服务器
验证php文件
Php有自己的配置文件,但是系统却找不到。
开发环境:用于程序员开发和测试的环境,没有对外发布。
生产环境:已经对外发布,正式部署之后在运行状态的环境。
将开发环境对应的ini配置文件,复制一份,然后去掉-development后缀
Php还是无法找到配置文件,如果要让php能够找到配置文件,有以下两种方式:
1.将php.ini文件到到c:/windows下(不建议:操作起来不方便,安全也是一个原因)
2.在Apache的配置文件中加载php.ini文件
PHPIniDir “D:/server/php”
- 重启Apache
- 检测
注意:当前只是将Apache与php进行了关联。Php当前是独立的,跟mysql没有任何关系。
配置php与mysql的联系
1.找到php的配置文件php.ini,查找extension,找到php与mysql的关系
2.开启mysql扩展
3.默认的扩展文件的目录是找不到,要配置扩展路径:extension_dir
4.当php.ini修改之后,需要重启Apache才能生效
5.验证是否生效,phpinfo(),下查看mysql是否被加载即可
上述配置已经实现了Apache,mysql和php的合体。但是当前还存在一个小问题,系统时间问题,系统默认的使用是UTC时区,需要改成中国时区。
在php.ini文件找,找到一个属性date.timezone = PRC
重启Apache,验证结果
D:/server/apache/htdocs/book //订书系统
D:/server/apache/htdocs/house //购房系统
http://localhost/book/index.php ========>http://book.mark.com/index.php
http://localhost/house/index.php =======>http://house.mark.com/index.php
http://192.168.3.100/index.php
要实现一台web服务器当做多个网站的站点来使用,那么需要虚拟主机(基于域名的虚拟主机)
以前是在httpd.conf下直接配置虚拟主机,方式如下
NameVirtualHost *:80
<VirtualHost *:80>
ServerName book.mark.com
DocumentRoot “D:/server/apache/htdocs/book”
</VirtualHost>
<VirtualHost *:80>
ServerName house.mark.com
DocumentRoot “D:/server/apache/htdocs/house”
</VirtualHost>
Apache为用户提供了一套虚拟主机,在httpd-vhosts.conf里面,要使用Apache提供的虚拟主机有以下几个步骤:
- 要开启虚拟主机
去掉注释
- 进入httpd-vhosts.conf里面配置虚拟主机
配置一个book.mark.com虚拟主机
如果配置并启用了虚拟主机,那么localhost默认的就会被覆盖掉。
如果想继续使用localhost,需要配置一个localhost的虚拟主机。
如何设置一个网站的默认网页?
在虚拟主机中指定DirectoryIndex 要显示的文件
权限问题
<Directory 路径>
Order Allow,Deny #执行的顺序是先允许,然后拒绝
Deny from all
Allow from all
</Directory>
网页文件的请求流程(web请求原理)
请求静态网页:html文件
- http://www.mark.com/index.html
- 查找hoss文件,寻找域名对应的ip:http://192.168.3.100/index.html(www.mark.com)
- Apache接收请求,通过域名找到网站根目录
- 抓取index.html文件,并把内容返回给请求的浏览器
- 请求的浏览器解析数据
请求动态网页:php文件
- http://www.mark.com/index.php
- 查找hoss文件,寻找域名对应的ip:http://192.168.3.100/index.php(www.mark.com)
- Apache接收请求,通过域名找到网站根目录
- 请求php引擎(模块)去获取index.php文件
- Php引擎会加载index.php文件,并进行解析,解析成html文件格式的内容
- Php引擎将html文件交给Apache
- Apache把得到的html文件交给浏览器
- 浏览器进行解析
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/1956.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除