您的位置:首页 > 编程语言 > PHP开发

PHP入门基本概念简介与 环境搭建

2014-04-08 09:55 701 查看
**web开发的介绍:
*web开发分为:


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

如果我们的一个页面,始终是一成不变的,则就是属于静态web开发,一般讲用html技术就Ok;

2.动态web开发:

比如:我们需要发帖,网上支付,发短信,发邮件,这样就需要动态web开发;

*常用的动态web技术:

php,jsp,asp-->asp.net,cgi(通常在linux运行(通用网关接口))


*动态网页技术的发展历程:


1.cgi(混合语言开发)

2.asp 微软产品-->asp.net

3,jsp(myspl-->sun公司),被oracle收购;(java/solaris/mysql)

4.php zend公司管理

*优点:

1.快平台,同时支持各种数据库

2.安全性好和效率高

3.使用成本低(linux,apache,mysal,php内核)

4.相对于jsp和asp.net简单

5.开放源码(可以做二次开发)

6.在php4,php5以及即将发布的php6中更好的支持面向对象;

**php的基本概念:
*快速入门案例:

test.php
<html>
<body>
//<?php ?>是运行在服务器端的
<?php
echo "hello"
?>
</body>
</html>


1.php是personal homePage;

2.目前是由zend公司负责维护和商业化

3.php是嵌入到html代码中的

<?php

//php代码

?>

4.php脚本是运行在服务器端(详细解释)

5.php6.0功能增加:

  1).更好的支持web2.0;

  2).支持更好的Unicode

  3).面向对象更强

  4).对xml编程支持

  5).soap(简单对象协议)

  **php开发工具:

  1.Editplus

  //集成开发环境 ide

  2.Zend Studio

  3.easyeclipse

  **lamp开发过程

  在windows开发php代码---》(上传ssh)----->linux;

  **在软件开发中有非常重要的原则:编译环境和运行环境要一致;

  **b/s和C/s比较:

  需要知道什么项目使用什么项目:



优缺点:

  ①.开发成本低

  ②.管理维护简单

  ③.产品升级便利

  ④.对用户的培训费用低

  ⑤.用户使用方便,出现故障的概率小

  b/s的不足:

  ①.安全性不足

  ②.客户端不能随心变化,受浏览器的限制

 

  **为什么要安装web服务器,和怎么样去了解发送和接收到什么

  1.因为我们浏览器要取数据,从web服务器获取的;

  2.我们可以通过httpwatch工具来获取发送和接收到的数据,有益于我们理解更加头侧


**服务器类型:


  iis服务器————》微软公司

  lighttpd--》德国公司

  apache web 服务器


**apache服务器安装演示:


1.如果有一份apache则最好卸掉重装一份

2。安装:

  1)。准备好软件 地址:http://httpd.apache.org/download.cgi

  2)。下的版本是httpd-2.2.25-win32-x86-no_ssl.msi   

  3)。正式安装:如下





一步下来成功!

测试是否真的成功;

在浏览器下输入:http://localhost,

若出现“it works”则说明安装成功;



**管理:

apache安装成功后,操作系统是一服务的方式进行管理的



我们可以通过该服务来关闭和启动apache,也可以通过apache monitor 来管理apache;

另外一种管理apache的方式是通过命令行:

httpd -k start (或restart或shutdown)

测试:

  1).进入到控制台;


    apache其实就是类似于暴风一样的软件,apache有一个非常重要的应用程序httpd.exe,该程序在

    apache安装目录的bin目录下;

   2).cd apache目录

   httpd -k shutdown(restart或start)

   **如果你希望在任何目录下都可以运行我们的apache命令,则需要做一个环境变量设置;

   (环境变量设置图apache4)

   这样子我们就可以在任何一个目录在命令行中进行管理apache;

   

   **apache web服务器默认在80端口监听

   如果你访问一个网站:www.baicu.com则默认一个端口是80;

   **端口(port)概念:

   1.一台机器可以有1-65535号端口;

   2.在实际加法中,我们经常使用netstat-an 来查看机器有哪些端口在监听;

   如果发现有异常端口,则可以关闭该端口;

   netstat-anb-->通过该命令我们可以发现是那些程序在监听该端口,从而关闭;

   3.一台的80端口被apache监听,则该端口不能再被其他的应用程序监听;

   4.端口分为有名端口1-1024号,其他端口可以自己分配;

***apache如何去配置端口:

1.我们的apache软件配置是在httpd.conf文件配置的,该文件在apache安装目录下的conf文件;

2.所以我们在httpd.conf文件中写该端口--》Listen 81;

**注意修改完后,一定要重新启动apache;


**apache目录结构图:




比较重要的几个文件夹:bin conf htdocs modules

***虚拟目录

提一个要求:

我的apache是安装在C盘,但是C盘没有空间,D盘有更多空间,能不能把D盘的一个文件夹

下的网页html,php,当做网站管理看看如何完成这个功能?

1.添加虚拟目录的节点配置虚拟目录在apache的conf目录下httpd.conf的

<IfModule dir_module>节点后添加如下代码:

<IfModule dir_module>

DirectoryIndex index.html indel.htm index.php

Alias  /myblog "D:/myblog"

<Directory d:/myblog>

order allow,deny

Allow  from all

</Directory>

</IfModule>

2.修改server主目录注销:(可不注销主目录)



3.测试http://localhost/my_project/bolg/demo1.html

4.如何设置欢迎页面
http://localhost/my_project/bolg 如何看到这个页面



********************

虚拟主机的配置


思考问题:

在现实中,我们不可能访问 http://localhost/news.html 这样的网站

通常是访问 http://www.sohu.com                

       http://www.taobao.com
这样的网站在一台apache服务器中配置网站

apache虚拟主机配置案例:

(apache虚拟主机配置图)

步骤如下:
1.启用httpd-vhosts.conf

在httpd.conf文件中启用

#Virtual hosts 虚拟主机


Include conf/extra/httpd-vhosts.conf

2.在httpd-vhosts.conf文件中配置:

<VirtualHost 127.0.0.1:80>

    DocumentRoot "F:/myWeb"

    #这里配置欢迎首页面

    DirectoryIndex Mario.html index.html index.htm index.php

    <Directory />

    Options FollowSymLinks

     #不许可别人修改我们的页面

    AllowOverride None

    #设置访问权限

    Order allow,deny

    Allow from all

    </Directory>

</VirtualHost>

3.修改hosts文件--》新的知识点(重新审视我们访问一个网页的流程)

127.0.0.1       localhost

127.0.0.1       wangbinhui81218

PS:这边需要特别注意:一旦虚拟主机配置原来的站点位置替换成虚拟主机所设置的documentroot路径之下

,原来的htdocs不再起作用;这里要注意;



详细说明下访问网页的过程:

通过浏览器中的地址:http://www.sohu.com--》 进行解析主机名www.sohu.com-->在本地hosts文件(包含着ip地址与域名映射关系的文件)中查找是否

有相对应的域名,如有,则获得其相对应的ip地址;若没有,则往外网DNS服务器中进行域名查询--》获得域名与对应的ip地址后,就向目的ip地址的apache

服务器发送http请求--》apache服务器接收并对请求信息进行解析--》主机名解析--》站点解析--》资源解析--》取出资源文件--》如果是静态页面资源,则

直接发送到浏览器--》若是动态页面资源,则有部分数据程序先在服务器执行完后再返回;

****
问题一:

当将hosts文件中的ip地址改为外网ip地址,而域名还是自己定义名称,再按上面的方式进行访问时,会出现上面情况?

  当我们在查询hosts文件ip--域名映射关系时,http协议会认为这样子做是没有意义的(指设为外网ip),所以他会自动把外网ip地址用虚拟主机ip地址代替;

问题2:

如果我们需要通过自定义的域名来访问外网站点,或让他人访问到我自己的网站;则需要我们在DNS服务器上来进行修改ip--域名映射关系
问题3:

hosts文件中ip地址是与配置虚拟主机时设定的ip地址一致的,而不是凭空而来的;

注意:

①.每一次配置apache目录下的文件,都需要重新启动apache.

②.apache在默认情况下是不会处理php页面的

3.多个域名可以对应一个ip地址



***上面的案例主要需要自己掌握

1.访问一个页面(html/php)详细过程

2.能够配置虚拟主机

*******

思考一个新的问题:

此时我们能向apache请求一个php文件吗?

apache在默认条件下是不会处理php页面的,他只会让我们把文件下载下来;

---》如何让apache能够处理PHP

**php开发环境的搭建:
1.在windows下搭建:

(apache(iis)+php+mySql+phpmyadmin(这是管理mysql的一个界面操作软件))-->wamp

2.linux

linux+apache+mysql+php-->lamp

**我们先看看如何在windows安装:

1).套件安装:


appserve(该软件把我们需要的wamp软件环境打包安装好了)

安装步骤:







2).自定义安装:
1.apache安装

apache安装完后:http://locallost 测试

2.php

1).下载php核心包(用户支持php开发)版本号:php-5.3.5

2).php核心包的安装就是解压即可

3).如何将apache和php整合

①.在apache的conf目录下的 httpd.conf 加入如下代码:

LoadModule php5_module ~php5文件安装目录/php5apache2_2.dll

PHPIniDir "~php5文件安装目录"

AddType application/x-httpd-php.php.phtml

②.把php.ini-development文件改成 php.ini ,因为我们的php

设置有需要在php.ini文件中修改的地方

③.在php.ini中可以指定相应的功能模块

这里我们要指定对应php扩展库的路径:

extension_dir="php扩展库的路径"

④.测试看看apache和php是否整合成功:

写这样一段代码  

test.php放在apache的htdocs目录下

<?php
phpinfo();
?>


测试:http://localhost/test.php



3.mysql安装:


1.下载的版本是:mysql-5.0.22-win32













测试mysql是否可以用:

1.写一段php代码来测试是否成功:

<?php
$conn=mysql_connect("localhost","root","root");
if($conn){
echo"连接mysql数据库OK";
}else{
echo"连接数据库失败";
}
?>


当我们没有对php进行正确配置的时候,会报:

Fatal error: Call to undefined function mysql_connect() in F:\myWeb\temp.php on line 2

原因:目前没有启用mysql功能在php.ini中:

extension=php_mysql.dll

extension=php_mysqli.dll

2.安装一个phpmyadmin来看看是否可以使用

(该网站实际可以更好的开发网站)

把该压缩包直接解压到htdocs目录,然后可以直接访问
http://localhost/phpMyAdmin/index.php即可
总结:至此,我们学会了用套餐软件appserv来安装,以及使用自定义的方式来搭建自己的php开发环境



企业常见需求:

前面我们可以让一个IP地址和一个域名(虚拟主机)绑定,那么如

果让一个IP和多个域名(虚拟主机)绑定呢?

两种方案解决:

1.通过端口来区分不同的虚拟主机

  1).按照绑定一个站点的方法做准备


   ①.先开发好自己的网站 C:/myenv/apache/htdocs

   ②.配置httpd.conf文件,启用虚拟主机

     #Virtual hosts 虚拟主机

     Include conf/extra/httpd-vhosts.conf

   ③.配置httpd-vhosts.conf

     <VirtualHost 127.0.0.1:80>

    DocumentRoot "C:/myenv/apache/htdocs"

    #这里配置欢迎首页面

    DirectoryIndex  index.html index.htm index.php

    <Directory />

    Options FollowSymLinks

    #不许可别人修改我们的页面

    AllowOverride None

    #设置访问权限

    Order allow,deny

    Allow from all

    </Directory>

    </VirtualHost>

    ④.在hosts文件中添加ip和域名的对应关系

      127.0.0.1       localhost

     

    ⑤.建议注销 documentroot

      #DocumentRoot "C:/myenv/apache/htdocs"

    ⑥.测试:

      http://www.wangbinhui81218.com/
  2). 添加一个新的域名于该IP绑定

    ①. 开发新的网站 F:/myWeb

    ②.配置我们的http-vhosts.conf,添加新的虚拟主机

       <VirtualHost 127.0.0.1:81>

    DocumentRoot "F:/myWeb"

    #这里配置欢迎首页面

    DirectoryIndex Mario.html index.html index.htm index.php

    <Directory />

    Options FollowSymLinks

    #不许可别人修改我们的页面

    AllowOverride None

    #设置访问权限

    Order allow,deny

    Allow from all

    </Directory>

    </VirtualHost>

     ③.在httpd.conf文件中让apache监听81端口.

       Listen 80

       Listen 81

     ④.在hosts文件中再添加新的域名

        127.0.0.1       wangbinhui81218

     ⑤.测试:http://www.wangbinhui81218.com:81/



2.通过ServerName端区分不同的域名


  ①.开发新的站点 F:/myWeb

  ②.在httpd-vhosts.conf文件中添加配置(注意这时的配置和以前不一样)

  <VirtualHost *:81>

    DocumentRoot "F:/myWeb"

    #这里指定域名

    ServerName www.wangbinhui81218.com

    #这里配置欢迎首页面

    DirectoryIndex Mario.html index.html index.htm index.php

    <Directory />

    Options FollowSymLinks

    #不许可别人修改我们的页面

    AllowOverride None

    #设置访问权限

    Order allow,deny

    Allow from all

    </Directory>

</VirtualHost>

<VirtualHost *:80>

    DocumentRoot "C:/myenv/apache/htdocs"

    #这里指定域名

    ServerName localhost

    #这里配置欢迎首页面

    DirectoryIndex  index.html index.htm index.php

    <Directory />

    Options FollowSymLinks

    #不许可别人修改我们的页面

    AllowOverride None

    #设置访问权限

    Order allow,deny

    Allow from all

    </Directory>

</VirtualHost>

在方案二中一定要清空缓存重新载入,不然会出错,就是他会保存原来的页面而新设置的主页面不给你显示;

****
什么是Web站点?

1.Web站点是多个web资源的集合。简单的说,可以把web应用理解为硬盘上的一个目录,这个目录用于管理多个web资源。举例:news,blog

web站点通常也称之为web网站,或web项目/工程

2.一个web站点由多个web资源或其他文件组成,包括html文件、css文件、js文件、php文件、配置文件等。在开发web站点时,应按规定的目录结构存放这些文件。否则,在把web

站点交给web服务器管理时,将无法正常访问,甚至会导致web服务器不能正常启动。



3.使用uml图,描述了请求php文件的整个流程

(php运行UML图)

      

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: