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

**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图)
      



























  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值