原文来自:http://www.cnblogs.com/sows/p/6867675.html (博客园的)风马一族 侵犯版本,后果自负

php介绍

  1. 什么php?
    一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。

PHP含义
早期PHP:Personal HomePage,Rasmus Lerdorf
后期PHP:PHP:Hypertext Preprocessor,超文本预处理器

PHP是一种脚本语言。
编程语言:在执行前需要先进行编译的语言
脚本语言:是一种解释型语言

  1. PHP能做什么?
    PHP什么都能做,但是很多情况下需要借助其他插件。
    PHP是做动态网站的。(web)
    web1.0:静态网站(都是请求已经存在的静态页,不需要和数据库进行任何交互),通常请求文件都是以路径+文件名.html/htm
    web2.0:动态网站,用户能够与服务器进行交互(服务器能够与数据库进行交互)

PHP负责处理用户提交的请求,与数据库进行关联,由PHP操作数据库进行数据的交互。

  1. PHP发展史
    1994:1.0:个人主页,perl(脚本语言)
    1996:2.0:C语言底层
    1998:3.0:zendEngine(zend公司开发)
    2000:4.0:session+输出缓冲等
    2004:5.0:zend引擎2代(完善PHP的面向对象变成)

  2. PHP在哪运行?
    PHP是一种服务器端的脚本语言。

  3. 什么是服务器?
    装有服务器软件的电脑。
    服务器软件:Apache,tomcat,iis,ftp,http,SVN

装有Apache的电脑称之为web服务器。

  1. 软件结构
    不论哪种结构都需要联网才能够工作。
    c/s:client/server,客户端/服务端,必须同时运行客户端和服务端才能够使用软件。
    b/s:browser/server,浏览器/服务器(端),只要有浏览器就可以进行访问(一种特殊的c/s结构)

  2. 电脑间的通信
    IP:唯一标识电脑的一个地址
    域名:Domain Name,对IP地址的别名,是为了方便用户去访问对应的“电脑”
    hosts:本地的域名解析器
    域名服务器:通过域名找到域名对应的IP地址

  3. html是干嘛的?
    用来规范数据的显示格式,保证每个用户看到的结果都是一样的。

搭建web服务器
为什么不直接使用集成环境而需要单独安装服务器软件?
集成环境:PHPstudy,appserve,wamp,xamp,不需要单独安装和配置,可以直接当做一个动态web服务器使用。
因为集成环境是由第三方提供,存在一定的安全隐患。所以,真实的项目中,服务器端的部署都是使用单独安装后进行配置得到。

安装Apache
Apache是一种b/s结构的软件,Apache属于s服务端

  1. 下载

  2. 双击安装文件

  3. 点击next,进入协议界面,勾选同意协议

  4. 点击两次next,进入到服务器信息配置界面。

  5. 点击next,进入配置模式,选择自定义配置模式

  6. 点击next,进入路径配置界面

a) 在D盘目录下创建一个server目录(不能使用中文目录)

b) 将安装路劲选择到创建是server目录,并在server目录下创建一个Apache目录

  1. 点击next,进入到准备安装界面,点击install进行安装,之后点击finish完成。

  2. 验证是否安装成功:在浏览器中,输入localhost进行访问

如何保留之前PHPstudy软件

  1. 修改Apache配置文件,Listen 80 –>Listen 8080
  2. 修改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的服务器。

  1. 下载mysql服务端安装文件

注意:以上安装文件,不单只是服务器端的安装文件,还包含客户端的安装

  1. 双击安装文件,进入安装界面

  2. 点击next,进入协议界面,选中同意协议,点击next进入配置模式

  3. 点击自定义安装,进入路径配置界面

a) 创建mysql目录

b) 修改mysql的安装目录

i. 安装文件所在目录

ii. 数据路径

  1. 点击next进入到准备安装界面,点击install进行安装,安装完成之后进入到安装完成页面

  2. 默认勾选配置选项,点击finish安装完成,进入配置

  3. 点击next进行配置,进入到配置选择界面

  4. 选择详细配置,点击next,进入到服务器类型配置界面

  5. 选择开发者机器,点击next,进入数据库用途配置

  6. 选择多功能数据库,点击next,进入到InnoDB驱动选择界面,可以直接点击next跳过

  7. 配置并发选项

  8. 选择手动选择,设置为默认的并发量15个,点击next,进入网络设置界面

  9. 勾选防火墙放行,其他默认,点击next进入到字符集设置界面

  10. 选择手动选择,设置字符集为utf8,点击next进入windows设置

  11. 勾选设置环境变量,点击next进入安全选项配置

  12. 输入root用户的密码,点击next进入到准备配置的界面

  13. 点击excute执行配置项,需要上面的四项都成功打上勾才算配置成功。

  14. 点击finish完成安装。
  15. 验证安装是否成功:cmd控制台输入mysql –uroot –proot

分析一下mysql的安装后的目录结构

mysql的bin目录

资源管理器查看

安装PHP
PHP不像Apache和mysql那样,有安装文件,可以直接安装。PHP是一个文件夹,需要通过配置文件,关联到Apache里面去。

  1. 下载PHP安装文件

  2. 安装:在server目录下,直接放置解压后的PHP文件夹(对名字进行整容)

配置Apache:让Apache能够识别PHP

  1. 在Apache中加载PHP模块(把PHP当做Apache的一个模块来运行)。/apache/conf/httpd.conf

注意:修改之后必须重启Apache才能生效

  1. 在Apache中指定将PHP文件交给PHP模块处理

配置PHP:让PHP能够充当mysql的客户端去连接mysql服务器
PHP本身没有能力去操作mysql,需要借助外部扩展才可以。在PHP中,提供一套mysql的扩展,能够连接mysql服务器。

  1. 得到PHP的配置文件。在PHP的安装目录下,有两个配置文件

将php.ini-development文件复制一份,重命名为php.ini

  1. 将php的配置文件,加载到Apache的配置文件中。/apache/conf/httpd.conf

  2. 开启mysql扩展。/php/php.ini

  3. 指定扩展文件所在的目录。/php/php.ini

apache的工作原理
Apache的诸多功能都是通过模块进行加载的,自己本身并不具备那么多能力(功能)

web工作原理
网站:多个网页组成的集合。
用户访问:http://www.itcast.cn/teacher.html(URL:互联网的绝对路径
网站管理员:一个网站就是一个文件夹(本地的绝对路径)

静态页的请求:http://localhost/index.html
请求步骤:

  1. 用户在浏览器中输入需要访问的网站的域名以及具体要请求的网页文件
  2. 域名解析:先找本地hosts文件,再找互联网上的DNS
  3. web服务器接收请求,获取请求文件index.html
  4. web服务器返回index.html
  5. 浏览器解析html代码,显示数据

动态页的请求:http://localhost/index.php
请求步骤:

  1. 用户在浏览器中输入需要访问的网站的域名以及具体要请求的网页文件
  2. 域名解析:先找本地hosts文件,再找互联网上的DNS
  3. web服务器接收请求,获取请求文件index.php
  4. 将index.php文件交给php引擎处理
  5. php引擎解析php代码,如果要连接数据库的话就调用mysql扩展,去操作数据库,最终解析完变成html文件
  6. php引擎将生成的html文件交给Apache
  7. web服务器返回index.php得到的最终html文件
  8. 浏览器解析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下加载对应的配置文件

  1. 先加载虚拟主机配置文件。apache/conf/httpd.conf

但是会产生警告

  1. 清理警告

  2. 创建虚拟主机
    <VirtualHost *:80>
    ServerName 域名
    DocumentRoot 路径

  3. 重启Apache
  4. 修改hosts文件
    hosts文件路径:C:\Windows\System32\drivers\etc\hosts

  5. 设置访问权限

    Order Deny,Allow
    Deny from all
    Allow from all

指定访问方式,如果没有请求文件,而默认的文件又不存在,则显示所有的文件列表(在开发环境中慎用)

注意:一旦开启虚拟主机,那么默认的localhost会被覆盖,被第一个虚拟主机覆盖,为了解决不被覆盖的问题,需要额外增加一个localhost的虚拟主机。

【php】php开发的前期准备的更多相关文章

  1. GitHub转华为软件开发云详细教程

    一.复制GitHub的代码库地址 首先,打开Github网页,找到要迁移的代码仓库地址,如下: 点击Clone or Download,出现以下界面 点击Copy toclipboard(复制到粘贴板 ...

  2. vue(9)—— 组件化开发 - webpack(3)

    前面两个终于把webpack相关配置解析完了.现在终于进入vue的开发了 vue组件化开发预热 前期准备 创建如下项目: app.js: footer.js: main.js: webpack.con ...

  3. 【资料总结】html开发小实例

    目 录 第1章 1 HTML的基本标签 1 第2章 25 表格基础 25 第3章 53 表单和框架 53 第4章 77 CSS样式表 77 第5章 104 使用Dreamweaver制作网页 104 ...

  4. 如何在HoloLens中创建一个2D的Hello World程序

    注:本文提及到的代码示例下载地址 > How to build an "Hello World" 2D app in HololLens. HoloLens 是微软的一款MR ...

  5. 代码托管SVN到Git迁移(使用小乌龟工具)

    1.环境信息 Git   Server     华为软件开发云   代码托管 SVN Server    本地SVN服务器   Windows Server2012 R2 本地主机       Win ...

  6. 如何编写轻量级 CSS 框架

    Github 地址: https://github.com/nzbin/snack Demo 演示: https://nzbin.github.io/snack/ 前言 这篇文章我已经酝酿了半年之久, ...

  7. Redis操作1

    本文章内容节选自<PHP MVC开发实战>一书第16.4.2章节. 一.概述 Redis是一个NoSQL数据库,由于其数据类型的差异,所以要在MVC框架中实现CURD操作,比较繁锁.事实上 ...

  8. Maven for Eclipse 第二章 ——安装 m2eclipse插件

    m2eclipse 是一个提供了 Maven 与 Eclipse 整合的插件.它的意图是桥接上 Maven 和 Eclipse 之间的缺口.通过 Maven 原型提供的简单直白的接口创建项目,它使 M ...

  9. Java项目接入阿里云OSS存储

    需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...

随机推荐

  1. 嘴巴题4 「BZOJ1827」[Usaco2010 Mar] gather 奶牛大集会

    1827: [Usaco2010 Mar]gather 奶牛大集会 Description Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来 ...

  2. 关于CoCreateInstance的0x800401f0问题

    hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&g_pGr ...

  3. Apache 禁用IP 访问 和 HTTP 跳转 HTTPS

    如果需要 禁用IP 访问并且 需要 HTTP 跳转到 HTTPS <VirtualHost *:80> ServerName xxx.xxx.com RewriteEngine On Re ...

  4. HDU - 3007 Buried memory

    传送门 最小圆覆盖模板. //Achen #include<algorithm> #include<iostream> #include<cstring> #inc ...

  5. React State&生命周期

    State&生命周期 State&生命周期 到目前为止我们只学习了一种方法来更新UI. 我们调用ReactDOM.render()来改变输出: function tick(){ con ...

  6. light oj 1219 树上贪心

    #include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...

  7. 装配SpringBean(三)--XML方式实例

    前一篇文章中已经介绍了XML方式装配bean的方式,本文将综合这些方式举一个实例并进行测试,我会把所有类型的参数都放在同一个类中进行测试,下面是我的类结构: 上图是我画的一个基本结构,可以看出该类中有 ...

  8. 关于python的列表操作(一):取值,增加,修改,删除

    # 列表操作 name_list = ["wang", "niu", "bai", "sui"] # 取值 print( ...

  9. Leetcode443.String Compression压缩字符串

    给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长度. 进阶: ...

  10. android 数据绑定(2)绑定表达式

    1.官方文档 https://developer.android.com/topic/libraries/data-binding/expressions.html 2.绑定表达式的约束 2.1 允许 ...