酷浪 发表于 2019-10-14 23:12:49

我的php学习第二十四天——详细步骤搭建php运行环境


[*]1.什么是PHP?
PHP是运行在服务器端的脚本语言,配合mysql和html实现动态网站。
脚本语言:编程语言有更加严格的规范。编程语言不能直接执行,需要编译后再执行。脚本文件可以直接被执行。
网站:
用户角度:在浏览器中能够通过url能够访问到的html界面。http://www.cwhello.com
开发角度:网站就是一个文件夹,从某个指定文件夹下放置和获取具体某个文件的过程。
Html最主要的作用:帮助所有的用户去查看同一个文件的时候,能够看到同样的效果。
服务器:装了服务器软件的电脑被称之为服务器。
服务器软件:IIS,Apache,tomcat,telnet,ftp,mysql
Web访问

[*]如何访问别人的电脑?IP,唯一标识一台电脑
http://192.168.3.100
http://p3.pstatp.com/large/1dbb0004631a5f3898c0

[*]域名和域名系统:Domain,Domain Name System(域名解析)
http://p1.pstatp.com/large/1dbb0004631b9d9cfa46
http://www.cwhello.com =====è http://192.168.3.100
1.1.web访问原理
studyPHP,appserver,wamp,xamp都是集成环境。
PHP通常有两大软件:wamp和lamp
Wamp:windows下Apache,mysql和PHP
Lamp:Linux下的Apache,mysql和PHP
保存原来的集成环境。
1.Apache的配置文件修改,修改Apache的监听端口
http://p3.pstatp.com/large/1dc30002e0f05d4e3b2d
2.Mysql的配置文件修改,修改其监听的端口
找到my.ini文件
http://p1.pstatp.com/large/1dbb0004631cf857054f
将php.ini中所有对应的端口port改成非3306
http://p1.pstatp.com/large/1dbf00046429c9cc35fc
通过netstat命令查看端口
2.搭建PHP开发环境

Apache,mysql,PHP
2.1.安装Apache
1.获取Apache安装软件。http://apache.org
http://p3.pstatp.com/large/1dbf0004642876eed938
2.运行安装文件
a) 配置服务器信息
http://p3.pstatp.com/large/1dc30002e0f140632883
b) 选择安装模式
http://p1.pstatp.com/large/1dc70001a4fb586a5ba3
c) 配置安装目录
http://p3.pstatp.com/large/1dc00001bf3cd0d6311c
3.安装成功。看到Apache运行,且是一个绿色的三角形图标
http://p1.pstatp.com/large/1dbf0004642a8cd89f27
验证。在浏览器中输入localhost
http://p3.pstatp.com/large/1dc30002e0f3b738691f
安装独立环境不是为了开发,而是为了最终的项目部署。当项目开发之后,会将所有的项目文件部署到服务器上,这个时候都是使用独立的环境,从而从安全上得到保证,也方便进行不同的配置。
这个时候Apache只能操作一个静态网站。没有动态语言的支撑,也没有数据库的支撑。
Apache安装后的目录说明
http://p1.pstatp.com/large/1dc70001a5006ca218d1
2.2.安装mysql
Mysql:一个动态网站需要数据库的支持,mysql就是用来保存数据。
1.获得mysql安装文件,去官网获得。
http://p3.pstatp.com/large/1dc30002e0f2233265ef
2.运行安装文件
a) 选择安装模式
http://p3.pstatp.com/large/1dc70001a4fe60d0d6d4
b) 配置安装路径
http://p1.pstatp.com/large/1dbb00046323251f8909
3.安装完成,进入配置界面
4.选择配置模式,选择详细配置
http://p3.pstatp.com/large/1dbb00046324c8da2f23
5.选择服务器类型,选择开发者模式
http://p1.pstatp.com/large/1dc00001bf415a7067e2
6.数据库功能选择,选择多功能数据库
http://p1.pstatp.com/large/1dc20001c4a9f43b265e
7.InnoDB表空间设置,默认就行
http://p3.pstatp.com/large/1dbb00046325c32d309e
8.并发选择,选择手动,使用默认的手动下的数量
http://p3.pstatp.com/large/1dc70001a501b078e102
9.访问选项设置
http://p1.pstatp.com/large/1dc20001c4abb003cee3
10.选择字符集
http://p3.pstatp.com/large/1dbb00046327ac6453e0
11.Mysql服务设置
12.配置安全信息
http://p3.pstatp.com/large/1dbf0004642f201d45a3
13.执行配置
http://p1.pstatp.com/large/1dbf0004648e85de0fd5
14.验证是否安装成功,控制台输入mysql –uroot –p密码
http://p1.pstatp.com/large/1dc00001bf99784251b3
Mysql的目录结构
http://p3.pstatp.com/large/1dc20001c510c59dbb16
注意:Apache和mysql的安装目录不能使用中文和空格
备份数据库数据

[*]复制原来数据库文件夹到新的数据库的data目录下(以数据库名字命名的文件夹)
[*]将原来数据库的ibdata文件复制到新的data目录下,覆盖ibdata文件。(前提是新的数据库里面没有任何数据)
2.3.安装PHP
PHP不是安装文件,只是一个文件夹
1.获得PHP文件,去PHP官网下载
http://p3.pstatp.com/large/1dc20001c50fc9deea0d
2.解压文件
http://p1.pstatp.com/large/1dbf0004648d2d3abb6f
3.复制文件夹到server目录并重命名
http://p1.pstatp.com/large/1dc20001c511f588d78c
对Apache进行配置,加载PHP
http://p1.pstatp.com/large/1dbf0004648f9cd3285e
修改Apache的配置文件来实现目的。
1.找到Apache配置文件d:server/apache/conf/httpd.conf
2.添加模块,指定php中的具体的动态链接库
http://p3.pstatp.com/large/1dc00001bf937d16a4a6
3.重启Apache(所有配置文件的修改都需要重启服务才会生效)
Httpd.exe,必须进入到Apache的bin目录下执行(配置环境变量也行)
1.–M,查看Apache加载了哪些模块(可以被加载的,LoadModule前面的注释取消掉的)
http://p1.pstatp.com/large/1dc00001bf9581eb4130
2.–l,真正当前被加载的模块
http://p1.pstatp.com/large/1dc00001bf947ed78fc2
3.–t,验证配置文件的正确性
http://p9.pstatp.com/large/1dbf00046490276f58c5
默认安装后,会有一个域名被注释上,导致不能通过域名进行访问,需要取消该注释
http://p1.pstatp.com/large/1dbb00046375b3d8432e
如何让php能够工作?
告诉Apache,当用户请求的是php文件的时候,应该交给php模块去处理。
addType application/x-httpd-php .php //只要是以.php结尾的文件请求,都交给php处理
http://p1.pstatp.com/large/1dc20001c512e2145a6b
重启服务器
验证php文件
http://p9.pstatp.com/large/1dc30002e1587ad19cbe
Php有自己的配置文件,但是系统却找不到。
http://p1.pstatp.com/large/1dc70001a551e646f65b
开发环境:用于程序员开发和测试的环境,没有对外发布。
生产环境:已经对外发布,正式部署之后在运行状态的环境。
将开发环境对应的ini配置文件,复制一份,然后去掉-development后缀
http://p1.pstatp.com/large/1dc20001c5135e1a3f2d
Php还是无法找到配置文件,如果要让php能够找到配置文件,有以下两种方式:
1.将php.ini文件到到c:/windows下(不建议:操作起来不方便,安全也是一个原因)
2.在Apache的配置文件中加载php.ini文件
PHPIniDir “D:/server/php”
http://p1.pstatp.com/large/1dc70001a5528df01aa4

[*]重启Apache
[*]检测
http://p3.pstatp.com/large/1dbb00046376e7e59756
注意:当前只是将Apache与php进行了关联。Php当前是独立的,跟mysql没有任何关系。
配置php与mysql的联系
1.找到php的配置文件php.ini,查找extension,找到php与mysql的关系
http://p1.pstatp.com/large/1dc30002e1598561c3fc
2.开启mysql扩展
http://p1.pstatp.com/large/1dc00001bf9703caf75b
3.默认的扩展文件的目录是找不到,要配置扩展路径:extension_dir
http://p3.pstatp.com/large/1dc00001bf98c28ca7e0
4.当php.ini修改之后,需要重启Apache才能生效
5.验证是否生效,phpinfo(),下查看mysql是否被加载即可
http://p1.pstatp.com/large/1dc00001bf9aeb461af7
上述配置已经实现了Apache,mysql和php的合体。但是当前还存在一个小问题,系统时间问题,系统默认的使用是UTC时区,需要改成中国时区。
http://p3.pstatp.com/large/1dbf00046491959f37d1
在php.ini文件找,找到一个属性date.timezone = PRC
http://p3.pstatp.com/large/1dbb00046377f7a10359
重启Apache,验证结果
http://p3.pstatp.com/large/1dc70001a553e2514042
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

ServerName book.mark.com
DocumentRoot “D:/server/apache/htdocs/book”


ServerName house.mark.com
DocumentRoot “D:/server/apache/htdocs/house”

Apache为用户提供了一套虚拟主机,在httpd-vhosts.conf里面,要使用Apache提供的虚拟主机有以下几个步骤:

[*]要开启虚拟主机
http://p3.pstatp.com/large/1dc20001c5157cc6a95a
去掉注释
http://p3.pstatp.com/large/1dc00001bf9bf3179d49

[*]进入httpd-vhosts.conf里面配置虚拟主机
http://p1.pstatp.com/large/1dc30002e15e2999d4d3
配置一个book.mark.com虚拟主机
http://p1.pstatp.com/large/1dbb00046379a386ce73

[*]清理无效的虚拟主机
http://p1.pstatp.com/large/1dc20001c51962a2a204
[*]重启Apache
[*]配置hosts文件,C:\Windows\System32\drivers\etc
http://p1.pstatp.com/large/1dc20001c517129f6baa
如果配置并启用了虚拟主机,那么localhost默认的就会被覆盖掉。
如果想继续使用localhost,需要配置一个localhost的虚拟主机。
http://p1.pstatp.com/large/1dc20001c518dabff941
如何设置一个网站的默认网页?
在虚拟主机中指定DirectoryIndex 要显示的文件
http://p1.pstatp.com/large/1dc20001c51aaf2cfa5a
权限问题

Order Allow,Deny #执行的顺序是先允许,然后拒绝
Deny from all
Allow from all

http://p1.pstatp.com/large/1dc70001a556def9d413
网页文件的请求流程(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文件交给浏览器
[*]浏览器进行解析
http://p1.pstatp.com/large/1dc30002e15dbdbbd97a

刘伟 发表于 2019-10-14 23:14:13

转发了

LH4206 发表于 2019-10-14 23:14:13

转发了

立森影像LESU 发表于 2019-10-14 23:14:13

转发了

vito 发表于 2019-10-14 23:14:13

转发了
页: [1]
查看完整版本: 我的php学习第二十四天——详细步骤搭建php运行环境