【php】php开发的前期准备
原文来自: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的虚拟主机。
【php】php开发的前期准备的更多相关文章
- GitHub转华为软件开发云详细教程
一.复制GitHub的代码库地址 首先,打开Github网页,找到要迁移的代码仓库地址,如下: 点击Clone or Download,出现以下界面 点击Copy toclipboard(复制到粘贴板 ...
- vue(9)—— 组件化开发 - webpack(3)
前面两个终于把webpack相关配置解析完了.现在终于进入vue的开发了 vue组件化开发预热 前期准备 创建如下项目: app.js: footer.js: main.js: webpack.con ...
- 【资料总结】html开发小实例
目 录 第1章 1 HTML的基本标签 1 第2章 25 表格基础 25 第3章 53 表单和框架 53 第4章 77 CSS样式表 77 第5章 104 使用Dreamweaver制作网页 104 ...
- 如何在HoloLens中创建一个2D的Hello World程序
注:本文提及到的代码示例下载地址 > How to build an "Hello World" 2D app in HololLens. HoloLens 是微软的一款MR ...
- 代码托管SVN到Git迁移(使用小乌龟工具)
1.环境信息 Git Server 华为软件开发云 代码托管 SVN Server 本地SVN服务器 Windows Server2012 R2 本地主机 Win ...
- 如何编写轻量级 CSS 框架
Github 地址: https://github.com/nzbin/snack Demo 演示: https://nzbin.github.io/snack/ 前言 这篇文章我已经酝酿了半年之久, ...
- Redis操作1
本文章内容节选自<PHP MVC开发实战>一书第16.4.2章节. 一.概述 Redis是一个NoSQL数据库,由于其数据类型的差异,所以要在MVC框架中实现CURD操作,比较繁锁.事实上 ...
- Maven for Eclipse 第二章 ——安装 m2eclipse插件
m2eclipse 是一个提供了 Maven 与 Eclipse 整合的插件.它的意图是桥接上 Maven 和 Eclipse 之间的缺口.通过 Maven 原型提供的简单直白的接口创建项目,它使 M ...
- Java项目接入阿里云OSS存储
需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...
随机推荐
- Luogu P2845 [USACO15DEC]Switching on the Lights 开关灯(bfs)
P2845 [USACO15DEC]Switching on the Lights 开关灯 题意 题目背景 来源:usaco-2015-dec \(Farm\ John\)最近新建了一批巨大的牛棚.这 ...
- Hbase实验:java创建和删除table
开启zookeeper.hadoop.hbase: 打开eclipse创一个java project,然后导入所需jar包: 写好java代码,运行create,然后去hbase shell里查看: ...
- idea打包可执行jar
(1)在项目上鼠标右键 --> Open Module Settings 或者点击工具栏上的 (2)Artifacts --> + --> JAR --> From modul ...
- day65作业
有 红.黄.蓝 三个按钮,以及一个200x200矩形框box,点击不同的按钮,box的颜色会被切换为指定的颜色 <body> <div id="app"> ...
- 使用C++日志库log4cplus
用vs2015编译log4cplus,新建工程使用该库的时候出现连接错误,错误原因如下所述: 编译unicode版,可以正常使用了.
- Django项目:CRM(客户关系管理系统)--85--75PerfectCRM实现CRM扩展权限
# sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...
- mysql innodb 的 逻辑存储结构
如上图: innodb 的 逻辑存储单元分成 表空间,段,区,页 4个等级 默认情况下,一个数据库 所有变共享一个 默认的表空间(tablespan).可以指定每个表一个表空间. 一个表空间管理着 多 ...
- request.getSession().getServletContext().getRealPath("upload/" ); 获取不到 tomcat 服务器目录
上传一个文件,找不到该文件的位置 设置上传的文件是在项目中的话 可以通过查找项目的路径锁定上传的文件路径 解决步骤: 可以通过jsp页面 打印获取项目的物理路径 控制台即可输出项目路径 这只是找了了上 ...
- mybatis学习:mybatis注解开发一对多
实体类User: public class User implements Serializable { private Integer id; private String username; pr ...
- 修改代码150万行!与 Blink 合并后的 Apache Flink 1.9.0 究竟有哪些重大变更?
8月22日,Apache Flink 1.9.0 正式发布,早在今年1月,阿里便宣布将内部过去几年打磨的大数据处理引擎Blink进行开源并向 Apache Flink 贡献代码.当前 Flink 1. ...