原文来自:http://www.cnblogs.com/sows/p/6867675.html (博客园的)风马一族 侵犯版本,后果自负
php介绍
- 什么php?
一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。
PHP含义
早期PHP:Personal HomePage,Rasmus Lerdorf
后期PHP:PHP:Hypertext Preprocessor,超文本预处理器
PHP是一种脚本语言。
编程语言:在执行前需要先进行编译的语言
脚本语言:是一种解释型语言
- PHP能做什么?
PHP什么都能做,但是很多情况下需要借助其他插件。
PHP是做动态网站的。(web)
web1.0:静态网站(都是请求已经存在的静态页,不需要和数据库进行任何交互),通常请求文件都是以路径+文件名.html/htm
web2.0:动态网站,用户能够与服务器进行交互(服务器能够与数据库进行交互)
PHP负责处理用户提交的请求,与数据库进行关联,由PHP操作数据库进行数据的交互。
PHP发展史
1994:1.0:个人主页,perl(脚本语言)
1996:2.0:C语言底层
1998:3.0:zendEngine(zend公司开发)
2000:4.0:session+输出缓冲等
2004:5.0:zend引擎2代(完善PHP的面向对象变成)PHP在哪运行?
PHP是一种服务器端的脚本语言。什么是服务器?
装有服务器软件的电脑。
服务器软件:Apache,tomcat,iis,ftp,http,SVN
装有Apache的电脑称之为web服务器。
软件结构
不论哪种结构都需要联网才能够工作。
c/s:client/server,客户端/服务端,必须同时运行客户端和服务端才能够使用软件。
b/s:browser/server,浏览器/服务器(端),只要有浏览器就可以进行访问(一种特殊的c/s结构)电脑间的通信
IP:唯一标识电脑的一个地址
域名:Domain Name,对IP地址的别名,是为了方便用户去访问对应的“电脑”
hosts:本地的域名解析器
域名服务器:通过域名找到域名对应的IP地址html是干嘛的?
用来规范数据的显示格式,保证每个用户看到的结果都是一样的。
搭建web服务器
为什么不直接使用集成环境而需要单独安装服务器软件?
集成环境:PHPstudy,appserve,wamp,xamp,不需要单独安装和配置,可以直接当做一个动态web服务器使用。
因为集成环境是由第三方提供,存在一定的安全隐患。所以,真实的项目中,服务器端的部署都是使用单独安装后进行配置得到。
安装Apache
Apache是一种b/s结构的软件,Apache属于s服务端
下载
双击安装文件
点击next,进入协议界面,勾选同意协议
点击两次next,进入到服务器信息配置界面。
点击next,进入配置模式,选择自定义配置模式
- 点击next,进入路径配置界面
a) 在D盘目录下创建一个server目录(不能使用中文目录)
b) 将安装路劲选择到创建是server目录,并在server目录下创建一个Apache目录
点击next,进入到准备安装界面,点击install进行安装,之后点击finish完成。
验证是否安装成功:在浏览器中,输入localhost进行访问
如何保留之前PHPstudy软件
- 修改Apache配置文件,Listen 80 –>Listen 8080
- 修改mysql的配置文件my.ini,把对应的监听端口mysql和mysqld都由3306改成其他(3308)
Apache能处理PHP吗?Apache能访问mysql吗?
不能!Apache不能处理PHP文件,也不能连接mysql服务器进行数据操作。
Apache的安装后的目录结构说明
httpd.exe:Apache的服务端,处理各种请求的软件
进程查看
几个简单的httpd命令:
-M:Apache可以加载的模块(功能)
-l:当前Apache已经加载的模块
-t:验证配置文件的语法错误
在cmd控制台下,进入到Apache的bin目录,使用httpd.exe或者httpd命令+空格+参数
配置文件验证
修改Apache配置文件:Apache/conf/httpd.conf
注意:配置文件的修改需要重启Apache才能生效,但是httpd.exe –t命令查看配置文件不需要重启Apache。
安装mysql数据库
mysql是一种c/s结构的软件。
当前是在为web服务器增加可以访问数据库的能力,增加mysql的服务器。
- 下载mysql服务端安装文件
注意:以上安装文件,不单只是服务器端的安装文件,还包含客户端的安装
双击安装文件,进入安装界面
点击next,进入协议界面,选中同意协议,点击next进入配置模式
- 点击自定义安装,进入路径配置界面
a) 创建mysql目录
b) 修改mysql的安装目录
i. 安装文件所在目录
ii. 数据路径
点击next进入到准备安装界面,点击install进行安装,安装完成之后进入到安装完成页面
默认勾选配置选项,点击finish安装完成,进入配置
点击next进行配置,进入到配置选择界面
选择详细配置,点击next,进入到服务器类型配置界面
选择开发者机器,点击next,进入数据库用途配置
选择多功能数据库,点击next,进入到InnoDB驱动选择界面,可以直接点击next跳过
配置并发选项
选择手动选择,设置为默认的并发量15个,点击next,进入网络设置界面
勾选防火墙放行,其他默认,点击next进入到字符集设置界面
选择手动选择,设置字符集为utf8,点击next进入windows设置
勾选设置环境变量,点击next进入安全选项配置
输入root用户的密码,点击next进入到准备配置的界面
点击excute执行配置项,需要上面的四项都成功打上勾才算配置成功。
- 点击finish完成安装。
验证安装是否成功:cmd控制台输入mysql –uroot –proot
分析一下mysql的安装后的目录结构
mysql的bin目录
资源管理器查看
安装PHP
PHP不像Apache和mysql那样,有安装文件,可以直接安装。PHP是一个文件夹,需要通过配置文件,关联到Apache里面去。
下载PHP安装文件
安装:在server目录下,直接放置解压后的PHP文件夹(对名字进行整容)
配置Apache:让Apache能够识别PHP
- 在Apache中加载PHP模块(把PHP当做Apache的一个模块来运行)。/apache/conf/httpd.conf
注意:修改之后必须重启Apache才能生效
- 在Apache中指定将PHP文件交给PHP模块处理
配置PHP:让PHP能够充当mysql的客户端去连接mysql服务器
PHP本身没有能力去操作mysql,需要借助外部扩展才可以。在PHP中,提供一套mysql的扩展,能够连接mysql服务器。
- 得到PHP的配置文件。在PHP的安装目录下,有两个配置文件
将php.ini-development文件复制一份,重命名为php.ini
将php的配置文件,加载到Apache的配置文件中。/apache/conf/httpd.conf
开启mysql扩展。/php/php.ini
指定扩展文件所在的目录。/php/php.ini
apache的工作原理
Apache的诸多功能都是通过模块进行加载的,自己本身并不具备那么多能力(功能)
web工作原理
网站:多个网页组成的集合。
用户访问:http://www.itcast.cn/teacher.html(URL:互联网的绝对路径)
网站管理员:一个网站就是一个文件夹(本地的绝对路径)
静态页的请求:http://localhost/index.html
请求步骤:
- 用户在浏览器中输入需要访问的网站的域名以及具体要请求的网页文件
- 域名解析:先找本地hosts文件,再找互联网上的DNS
- web服务器接收请求,获取请求文件index.html
- web服务器返回index.html
- 浏览器解析html代码,显示数据
动态页的请求:http://localhost/index.php
请求步骤:
- 用户在浏览器中输入需要访问的网站的域名以及具体要请求的网页文件
- 域名解析:先找本地hosts文件,再找互联网上的DNS
- web服务器接收请求,获取请求文件index.php
- 将index.php文件交给php引擎处理
- php引擎解析php代码,如果要连接数据库的话就调用mysql扩展,去操作数据库,最终解析完变成html文件
- php引擎将生成的html文件交给Apache
- web服务器返回index.php得到的最终html文件
- 浏览器解析html代码,显示数据
修改php的时区
在php的配置文件中去修改。/php/php.ini
注意:需要重启Apache后生效
虚拟主机配置
Apache的虚拟主机分为两种:基于IP地址的虚拟主机,基于域名的虚拟主机
基于域名的虚拟主机:通过域名来是的Apache区分对应的网站(文件夹)
Apache提供了多个位置可以用来配置虚拟主机,httpd.conf和/extra/httpd_vhost.conf
httpd.conf配置之后,只需要直接重启Apache即可生效
/extra/httpd_vhost.conf配置之后,需要在httpd.conf下加载对应的配置文件
- 先加载虚拟主机配置文件。apache/conf/httpd.conf
但是会产生警告
清理警告
创建虚拟主机
<VirtualHost *:80>
ServerName 域名
DocumentRoot 路径- 重启Apache
修改hosts文件
hosts文件路径:C:\Windows\System32\drivers\etc\hosts设置访问权限
Order Deny,Allow
Deny from all
Allow from all
指定访问方式,如果没有请求文件,而默认的文件又不存在,则显示所有的文件列表(在开发环境中慎用)
注意:一旦开启虚拟主机,那么默认的localhost会被覆盖,被第一个虚拟主机覆盖,为了解决不被覆盖的问题,需要额外增加一个localhost的虚拟主机。