分享

php windows开发环境搭建和基础入门

 小胡子的是也 2013-11-19
php windows开发环境搭建和基础入门

注明:本文记述的是《韩顺平php系列课程php开发环境搭建》课程所讲的内容,并结合自己实践的学习过程。
      对于搭建开发环境部分,不论是安装wamp还是lamp,关键要注意操作系统、软件版本、文件配置和权限问题。本文提供的是一个供您参考的搭建开发环境的样本,具体细节可能与您的操作系统及软件版本有关。如果您安装过程中出现了新的问题,可靠的办法是google install wamp 或者google install lamp,去寻求更多的帮助。



本节要点:
1.搭建php开发环境
2.初始php
3.B/S和C/S的区别
4.Apache服务器工作机制分析
5.端口 
6. apache目录、虚拟目录                                                                                                                                   
7.虚拟主机的配置


 
详细内容如下:

1.搭建php开发环境。


apache默认情况下不会处理php页面,需要搭建php开发环境。


(1)在windows下搭建 apache(iis)+php+mysql=phpadmin
a.套件安装    appserver、wmap这些软件将所需软件打包  缺点是不灵活,升级困难。
b.自定义安装

注意这里安装版本为apache2.2 php-5.3.5-Win32-VC6-x86 版本,不同版本安装方法有区别,特别是win7系统下 安装可能不成功。

step1:安装 apache

apache安装界面如下图所示:




安装完毕后需要配置环境变量,环境变量设置后可以在任意路径后使用。

配置环境变量如下图所示:



最后,测试安装是否成功。

a.开启或者关闭apache服务

(1)通过用户界面控制 在Window中通过[管理]-->服务来管理或者通过apache自带用户界面管理.

Window中通过[管理]开启服务如下图所示:




通过apache自带用户界面管理开启服务如下图所示:





(2)命令行控制apache服务

step1:进入控制台后运行httpd.exe程序

step2:httpd -k start[shutdown][restart]启动


b.浏览器中输入http://localhost测试,测试成功时效果如下图所示:





step2:安装php


解压php-5.3.5-Win32-VC6-x86(注意vc6版本适合apache和php

组合 vc9适合iis和php) 即可  但是要整合apache和php

a.将以下代码复制到apache中:

#让apache载入php处理模块
LoadModule php5_module c:\myenv\php\php5apache2_2.dll
#指定php的ini文件 该文件保存php配置
PHPIniDir "c:\myenv\php"
#配置表示*.php文件由php处理
AddType  application/x-httpd-php .php

b.将php.ini-development文件改成php.ini

c:测试apache与php整合成功
测试文件test.php代码如下:
<?php
phpinfo();

?>


测试成功时效果如下图所示:




step3:安装MySQL

MySQL安装界面如下图所示:







MySQL安装成功与否的测试文件test.php,代码如下:

  1. <?php  
  2. $conn=mysql_connect("localhost","root","root");  
  3. if($conn)  
  4. {  
  5.     echo "连接mysql数据库成功!";  
  6. }  
  7.  else  
  8.  {  
  9.      echo "连接数据库失败!";  
  10.  }  
  11. ?>  


在没有配置时提示错误:Fatal error: Call to undefined function mysql_connect() in C:\myenv\Apache\htdocs\test.php onlini文件中关于 php_mysqli.dll和php_mysql.dll两个动态链接库.


(2)在linux下 linux+apache+mysql+php-->lamp 这里不讲述

补充:如果机器,由于先前某些安装不正确,安装不正确的服务如下图所示:




要删除一些服务方法有两种

a.运行sc.exe 在上面运行 sc delete 服务名

如下图所示:



b.注册表删除 HKEY-LOCAL_MACHINES\SYSTEM\CurrentControlSet\Services   删除相应的主键值.


2.初识php                                                                                                                                      


(1)web开发分为:


a.静态web开发(html页面)

  一个页面始终是一成不变的,则属于静态web开发,利用html技术就好。


b.动态web开发

  比如网站上要发帖、网上支付、发短信、发邮件等功能,就需要数据交互,属于动态web开发。动态页面的数据由后台程序产生的,不同时间点访问网站看到不同内容。


(2)动态页面技术 php、jsp、asp--->asp.net 、cgi(linux)


(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公司负责。


(5)开发工具  EditPlus  Zend Studio  PHP Coder phpedit easyeclipse dw

补充:软件开发的一个原则:编译环境和运行环境要一致。


3.B/S和C/S结构的比较                                                                                                                                                                      
服务器在这里是指安装了服务器程序的计算机

(1)B/S  Browser浏览器/Server服务器

B/S结构如下图所示:



a.开发时主要考虑服务器端,客户端由用户浏览器提供,开发成本低。
b.成本低,管理维护简单,升级产品便利
c.用户使用方便,对用户培训费用低。
缺点:安全性不足,客户端不能随心变化,受浏览器的限制。


(2)C/S  Client客户端/Server服务器

C/S结构如下图所示:



a.需要开发客户端和服务器端。


4.apache工作机制分析                                                                                                                                                                     

apache基于模块化设计的,总体上看起来代码的可读性高于php的代码。
apache启动阶段:

开始--》解析配置文件--》加载静态/动态模块--》系统资源初始化--》结束

apache模块化设计如下图所示:



5.端口                                                                                                                                                                                               

(1)实际开发中,我们经常使用 netstat -an 来查看哪些端口在监听,如果发现异常端口在监听,则可以关闭该端口 使用命令netstat -anb 查看那个进程在监听,然后使用taskkill关闭该进程。

netstat -an命令使用如下图所示:




netstat -anb命令使用如下图所示:



(2)一台计算机的80端口被apache监听,则该端口不能再被其他的应用程序监听。

(3)端口占用时可以通过修改apache的监听端口来解决。

apache软件的配置是在httpd.conf文件中进行相应的配置,

默认端口号为80,如下图所示:




修改默认端口为81后,测试如下图所示:



补充:apache可以监听多个端口.


6.apache目录、虚拟目录                                                                                                                                                              

apache目录文件说明如下图所示:




    虚拟目录问题由来:   假设apache的安装目录磁盘空间不够,而D盘空间足够,如何将d盘中的文件作为站点文件访问。


(1)虚拟目录配置两个步骤


step1:配置虚拟目录在apache的conf目录下httpd.conf的<ifModule dir_module>节点后添加如下代码:


#添加虚拟目录
<ifModule dir_module>
#欢迎页面
DirectoryIndex index.html index.htm index.php
#站点别名
Alias /webtest "d:/webtest"
<Directory d:/webtest>
#访问权限设置
Order allow,deny
Allow from all
</Directory>
</ifModule>


step2:注销Documentroot部分


(2)文件权限设置


<Directory d:/webtest>   //

#访问权限设置
Order allow,deny   //Order allow允许所有ip,deny拒绝所有
Allow from all     //允许所有  最终允许所有
</Directory>
</ifModule>


7.虚拟主机的配置                                                                                                                                                                          

    虚拟主机问题由来:   访问http://localhost方式不够方便和美观,怎么才能配置像www.baidu.com这种域名.
配置虚拟主机的方法如下:


step1:启用httpd-vhosts.conf文件

在httpd.conf中找到Virtual hosts部分,取消include注释.

# 配置虚拟机Virtual hosts
Include conf/extra/httpd-vhosts.conf


step2: 在conf/extra/httpd-vhosts.conf中添加虚拟主机配置

<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@dummy-host.mshome.net
    DocumentRoot "d:/webtest"
    ServerName dummy-host.mshome.net
    ServerAlias www.dummy-host.mshome.net
    #配置欢迎页面
    DirectoryIndex index.html index.htm index.php
    <Directory />
    Options FollowSymLinks
    #不许可别人修改我们的页面
    AllowOverride None
    #访问权限设置
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>


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控制台命令也可以,如下图所示:



虚拟主机重定向效果如下图所示:


        



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多