PHP基础和环境搭建(一)
一、什么是PHP?
PHP(Hypertext Preprocessor),超文本预处理器。
PHP开发历史
Zend Technologies的创办人之一 - Andi Gutmans
Zend Technologies的创办人之一 - Zeev Suraski
PHP原本的简称为Personal Home Page[5],是拉斯姆斯·勒多夫为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的Perl程序。最初这些工具程序用来显示拉斯姆斯·勒多夫的个人履历,以及统计网页流量[6]。他将这些程序和一些窗体解释器集成起来,称为PHP/FI。PHP/FI可以和数据库连接,产生简单的动态网页程序。拉斯姆斯·勒多夫在1995年6月8日将PHP/FI公开发布,希望可以透过社群来加速程序开发与查找错误[7]。这个发布的版本命名为PHP 2,已经有今日PHP的一些雏型,像是类似Perl的变量命名方式、窗体处理功能、以及嵌入到HTML中运行的能力。程序语法上也类似Perl,有较多的限制,不过更简单、更有弹性。[6]在1997年,任职于Technion IIT公司的两个以色列程序员:Zeev Suraski和Andi Gutmans,重写了PHP的语法分析器,成为PHP 3的基础,而PHP也在这个时候改称为PHP: Hypertext Preprocessor.[6]。经过几个月测试,开发团队在1997年11月发布了PHP/FI 2,随后就开始PHP 3的开放测试,最后在1998年6月正式发布PHP 3。Zeev Suraski和Andi Gutmans在PHP 3发布后开始改写PHP的核心,这个在1999年发布的语法分析器称为Zend Engine[8],他们也在以色列的Ramat Gan成立了Zend Technologies来管理PHP的开发。[6]
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine[6]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个访问数据库的延伸库)、以及许多性能上的增强[9]。当前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。[10][11]
2008年时,PHP 5成为了PHP唯一维护中的稳定版本。
PHP 7的首个版本于2015年12月3日开发完成,包含了大量性能上的改进,同时也带来了一些新特性,最值得注意的是返回值类型声明、标量类型声明(可用于参数及返回值)。
来源:维基百科-PHP
官网:http://www.php.net
二、PHP能做什么?
A.命令行脚本;
B.服务器脚本(最主要的功能);
C.桌面应用程序;
三、PHP的工作原理
A.客户端向服务器发送HTTP请求;
B.服务器接收请求后,将请求转发给PHP解析器;
C.PHP解析器接受并处理请求;
D.PHP解析器将处理结果返回给服务器;
E.服务器再将结果返回给客户端;
四、PHP环境的搭建
1、Apache的安装与配置
apache (Web服务器)
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
Apache是可以跨平台运行的、最受欢迎的服务器软件;
Apache的安装与配置步骤:
下载Apache https://www.apachelounge.com/download/
解压压缩包到c:\apache24目录;
在windows命令行中切换到Apache安装目录下的bin目录内;
切换到命令行: 开始->运行->cmd
命令是: cd c:\apache24\bin
输入 httpd -k install
启动Apache ;
- 启动浏览器,并输入 http://127.0.0.1
卸载Apache: 在命令行输入 sc delete apache
2、PHP的安装与配置
下载PHP
选择相应版本的PHP进行下载;Apache服务器应选择线程安全(TS)的PHP版本进行下载;
下载地址:https://windows.php.net/download/解压压缩包到相应的位置(可以和Apache放在一起);
将PHP安装目录下的php.ini-production(生产环境下的配置文件,这只是示例文件并不起作用,将其重命名为php.ini 后才起作用),并重命名为php.ini
3、将PHP绑定到Apache
编辑Apache配置文件 –
httpd.conf
(位于Apache安装目录下的conf目录内);在文件的空白处添加:
#加载模块LoadModule php7_module "php7apache2_4.dll文件的位置"#PHP配置文件的位置PHPIniDir "PHP配置文件的目录"#告诉PHP引擎,哪些类型的文件将交给PHP引擎来处理AddType application/x-httpd-php .php
4、 Apache的基本配置(httpd.conf
)
配置项 | 说明 |
---|---|
ServerRoot | 用于指定Apache服务器运行的根目录,此目录不能改。Apache服务器开启之后,会在这个目录下工作。 |
MaxClients | 指定同时能访问服务器的客户机数量。 |
DocumentRoot | 服务器共享文件的起始位置,即默认网站的根目录。默认网站的根目录为: DocumentRoot “/var/www/html”。将网站上传到到网站根目录下,网站的内容就都访问到了。 |
DirectoryIndex | 默认网站主页 |
AddDefaultCharset | UTF-8 默认编码方式 |
Listen | 服务器监听的端口,默认80端口。 |
ServerAdmin | 设置管理员的信箱。当服务器出现问题时,在客户机出错信息上会显示管理员的信箱,这时客户机就会利用此信箱地址给管理员发邮件,告知管理员维护。 |
更多配置:Apache服务器的基本配置
PHP基础和环境搭建(一)相关推荐
- 轩小陌的Python笔记:day01 计算机基础和环境搭建
day01 计算机基础和环境搭建 课程目标:了解计算机的基础知识并完成python的环境搭建 课程概要: 计算机基础 编程的本质 Python的介绍 Python环境的搭建 1.计算机基础 1.1基本 ...
- Redis之Redis基础、环境搭建、主从切换
Redis基础.环境搭建.主从切换 一.Redis简介 1.引入NoSQL的背景 2.Redis简介 二.环境部署 1.server1源码安装redis,并创建redis实例 2.server2主机, ...
- Java从入门到实战总结-1.1、Java基础之环境搭建和eclipse安装
Java从入门到实战总结-1.1.Java基础之环境搭建和eclipse安装 文章目录 Java从入门到实战总结-1.1.Java基础之环境搭建和eclipse安装 1.Hello Java 1.1. ...
- Pytorch深度学习实战教程(一):语义分割基础与环境搭建
Pytorch的基本使用&&语义分割算法讲解 先从最简单的语义分割基础与开发环境搭建开始讲解. 二.语义分割 语义分割是什么? 语义分割(semantic segmentation) ...
- 1 计算机基础和环境搭建
二刷路飞学院的Python全栈开发 此课程是在2018年购买的,并在2019年下半年,学完了8章内容,并且让我成功跳槽找到了更好的工作,虽然现在已经又换了一家工作.但是,这个课程是让我全面的学习了Py ...
- day01 计算机基础和环境搭建
day01 计算机基础和环境搭建 课程目标:让大家了解计算机基础知识并完成python的环境搭建 课程概要: 计算机基础 编程的本质 python的介绍 python环境的搭建 1.计算机基础 1.1 ...
- Spark学习之路一——Spark基础及环境搭建
Spark学习之路一--Spark基础及环境搭建 文章目录 一. Spark 概述 1.1 概述 1.2 优势特性 1.2.1 运行速度快 1.2.2 容易使用 1.2.3 通用性 1.2.4 运行模 ...
- Pytorch深度学习实战教程:语义分割基础与环境搭建
一.前言 许久没有更新技术博文了,给自己挖一个新坑:语义分割系列文章. 该系列文章的内容有: Pytorch的基本使用 语义分割算法讲解 先从最简单的语义分割基础与开发环境搭建开始讲解. 二.语义分割 ...
- 《高效玩转 vscode》- 1:基础编程环境搭建
vscode 基础编程环境搭建 一.配置C/C++环境 1.下载minGW 2.下载vscode 3.配置clang-format 默认配置 自定义配置 注意 我的 .clang-format 配置 ...
- Python零基础入门01【计算机基础和环境搭建】
01–计算机基础和环境搭建 目标:了解计算机基础知识并完成Python的环境搭建 概要: 计算机基础 编程的本质 Python的介绍 Python环境搭建 1.计算机基础 1.1基本概念 计算机的组成 ...
最新文章
- Ubuntu10.10更新源
- 事件标志组解决任务间资源共享问题
- flink 自定义 窗口_《从0到1学习Flink》—— Flink Data transformation(转换)
- boost::fibers模块实现适应非阻塞的测试程序
- .NET MD5加密解密代码
- 不要错过这轮疫情的“洗牌”机会
- python模块:运行机制与编写方法
- Django中static media的简单配置及图片上传实践
- java定义int函数_Java自定义函数的四种类型
- python 帮助 autocad_python 使用pyautocad操作AutoCAD
- 结对编程-四则运算生成
- 独具匠心的好书:评《构建高性能Web站点》
- 花了很长时间看完了 java编程思想
- 动态域名解析NAT版结合绿盾加密解密软件使用方法
- 忘记steam账号了,如何查找本地steam账号?
- 利用草地湿润模型学习机器学习之参数估计
- 机器学习(二)-朴素的贝叶斯分类
- Android无线蓝牙开发总结
- Navicat迁移表数据 一
- 自动打开html网页脚本,开启网页全屏插件(自动开启网页全屏脚本js插件)
热门文章
- 天创速盈电商:拼多多运营技巧有哪些?注意事项有哪些?
- java setdate_java中setDate(Date date)方法和String与Date之间的转换
- OpenStack-基本概念之neutron
- sendfile | 传说中的零拷贝(主要用于网络中文件传输)
- 1. RxJava概述
- PDMReader2.0发布
- Bugku Crpyto writeup --道友不来算一算凶吉?
- 程序名称:麦弗逊悬架硬点布置 根据设计输入,布置麦弗逊悬架硬点坐标,匹配转向拉杆断开点,匹配车轮外倾角和前束值
- 怎样提高公司产品的知名度?
- nginx定时封ip防爬虫