1.搭建php开发环境。
apache默认情况下不会处理php页面,需要搭建php开发环境。
注意这里安装版本为apache2.2 php-5.3.5-Win32-VC6-x86 版本,不同版本安装方法有区别,特别是win7系统下 安装可能不成功。
step1:安装 apache
apache安装界面如下图所示:
安装完毕后需要配置环境变量,环境变量设置后可以在任意路径后使用。
配置环境变量如下图所示:
(1)通过用户界面控制 在Window中通过[管理]-->服务来管理或者通过apache自带用户界面管理.
Window中通过[管理]开启服务如下图所示:
通过apache自带用户界面管理开启服务如下图所示:
step2:httpd -k start[shutdown][restart]启动
b.浏览器中输入http://localhost测试,测试成功时效果如下图所示:
step2:安装php
解压php-5.3.5-Win32-VC6-x86(注意vc6版本适合apache和php
?>
测试成功时效果如下图所示:
<?php $conn=mysql_connect("localhost","root","root"); if($conn) { echo "连接mysql数据库成功!"; } else { echo "连接数据库失败!"; } ?>
在没有配置时提示错误:Fatal error: Call to undefined function mysql_connect() in C:\myenv\Apache\htdocs\test.php onlini文件中关于 php_mysqli.dll和php_mysql.dll两个动态链接库.
补充:如果机器,由于先前某些安装不正确,安装不正确的服务如下图所示:
要删除一些服务方法有两种:
a.运行sc.exe 在上面运行 sc delete 服务名
如下图所示:
2.初识php
(1)web开发分为:
a.静态web开发(html页面)
一个页面始终是一成不变的,则属于静态web开发,利用html技术就好。
b.动态web开发
比如网站上要发帖、网上支付、发短信、发邮件等功能,就需要数据交互,属于动态web开发。动态页面的数据由后台程序产生的,不同时间点访问网站看到不同内容。
(3)动态网页技术发展历程 html在1993年出现后为了弥补其不能和用户进行交互,陆续出现了下列网页技术:
a. cgi技术
cgi技术 是最早动态网页技术,发展比较成熟且功能强大。但是cgi语言效率比较低,编程比较困难。现在应用较少,主要用于linux/unix 下.
b.微软asp
asp是html+javascrip(vbscript)+com组件形式asp的功能强大,但是其需要com组件支持,而开发com组件开发比较困难的,另外asp是与windows系统和iis一起工作的,安全性较低,跨平台性差,实现企业级的功能困难。
c.sun公司 (后被oracle收购)jsp
jsp=html+java片段+jsp语法+js。
一次编写,到处运行,良好的跨平台性;但是jsp产品的复杂度高,jsp运行要求机器配置高.
d.php 目前由Zend管理www.php.net
跨平台性良好,多种数据库支持 效率较高,具有良好的安全性,免费使用成本低,开放源代码,上手快,面向对象程序设计。缺点是安装复杂,配置比较多;数据类型太灵活,解释执行,所以有些错误到运行时才会暴露。
(4)php
php 最早用户维护个人主页Personal HomePage, php Hyperttext Preprocessor,php是一种html内嵌语言,是一种在服务器端执行的嵌入html(<?php //php 代码 ?>)文档的脚本语言,语言风格类似于c语言,被广泛的运用,php目前的开发和商业化由Zend公司负责。
补充:软件开发的一个原则:编译环境和运行环境要一致。
(1)B/S Browser浏览器/Server服务器
B/S结构如下图所示:
(2)C/S Client客户端/Server服务器
C/S结构如下图所示:
4.apache工作机制分析
apache基于模块化设计的,总体上看起来代码的可读性高于php的代码。开始--》解析配置文件--》加载静态/动态模块--》系统资源初始化--》结束
apache模块化设计如下图所示:
5.端口
(1)实际开发中,我们经常使用 netstat -an 来查看哪些端口在监听,如果发现异常端口在监听,则可以关闭该端口 使用命令netstat -anb 查看那个进程在监听,然后使用taskkill关闭该进程。
netstat -an命令使用如下图所示:
netstat -anb命令使用如下图所示:
(3)端口占用时可以通过修改apache的监听端口来解决。
apache软件的配置是在httpd.conf文件中进行相应的配置,
默认端口号为80,如下图所示:
修改默认端口为81后,测试如下图所示:
补充:apache可以监听多个端口.
6.apache目录、虚拟目录
apache目录文件说明如下图所示:
虚拟目录问题由来: 假设apache的安装目录磁盘空间不够,而D盘空间足够,如何将d盘中的文件作为站点文件访问。
(1)虚拟目录配置两个步骤
step1:配置虚拟目录在apache的conf目录下httpd.conf的<ifModule dir_module>节点后添加如下代码:
step2:注销Documentroot部分
(2)文件权限设置
<Directory d:/webtest> //
#访问权限设置
7.虚拟主机的配置
虚拟主机问题由来: 访问http://localhost方式不够方便和美观,怎么才能配置像www.baidu.com这种域名.
step1:启用httpd-vhosts.conf文件
在httpd.conf中找到Virtual hosts部分,取消include注释.
# 配置虚拟机Virtual hosts
step2: 在conf/extra/httpd-vhosts.conf中添加虚拟主机配置
<VirtualHost 127.0.0.1:80>
step3:修改hosts文件
hosts文件位于:C:\Windows\System32\drivers\etc .
以重定向到www.baidu.com为例,在hosts文件为加上:
127.0.0.1 localhost
127.0.0.1 www.baidu.com
两行。
或者使用DOS控制台命令也可以,如下图所示:
虚拟主机重定向效果如下图所示: