牛骨文教育服务平台(让学习变的简单)

前言

在web开发这个领域对php 可是早有耳闻,大家对php赞不绝口,称赞有加,这让php火了一阵子,现在也依旧流行,所以我实在是忍不住想搞搞php了,以前以为学了jsp就没必要学php了,因为用j2ee这个平台也照样做web开发,但是,听到php这么多优点,这么火,所以打算学学php,而且据说有c和java基础的人学习起来特别快,因为php善于吸收其他语言的优点,如c的语法和指针(虽说没有真正意义上的指针),java的面向对象和异常处理等等,还有perl语言的优点。那我就要看看php的神秘面纱。纵观php的历史,从95年php的诞生,全称是“Personal Home Page”,到97年php发展到php3,全称是“Hypertext Preprocessor”,再到2000年php4的正式发布,再到2004年php5发布,这个时候的php面向对象的功能被强化,再到刚过去的2015年,在不久前的2015年6月php7发布,据说php7性能比php5.6提升了两倍,还提供全面一致的64位的支持。简单地了解了一下php的发展历史,可见php一直在不断地升级完善,所以非常值得研究一下,下面开始万里长征第一步php开发环境搭建,仿佛我看到了前面的曙光,哈哈。

资源准备

由于php是嵌套在html中的运行于服务器端的脚本语言, 运行于服务器端说明在前台网页的源代码中只能看到html,js,css等前端代码而看不到php的源码,因为php的源码被服务器解析了。那么和jsp开发一样需要一款服务器,jsp通常用的是tomcat服务器,那么php通常用的是什么服务器呢?php通常用的是Apache,当然还可以是IIS服务器,因为Apache服务器最大的优点是免费开源,所以更多的是选择apache服务器。php做web开发除了需要有自身的语音包支持和apache服务器外还需要有一个后台数据库,通常是用MySQL,也可以是sql server或者Oracle,而php做web开发最佳组合是PHP+MySQL+Apache,所以开发学习php web开发之前我们需要去网上下载一些资源,php web开发需要的资源如下:

(1) PHP语言包

官网下载地址:http://windows.php.net/download#php-7.0,在这里选择电脑处理器位数和相应的版本的php下载(最好是线程安全的)。这篇文章基于php5.6。

(2) Apache服务器

官网有很多种类和版本,这里的文章是基于Apache 2.4,去官网下载apache教程:

1、进入apache下载官网,如下图,点击红色部分

这里写图片描述

2、进入第二个页面,选择红色部分

这里写图片描述

3、进入第三个页面,选择相应VC版本的apache下载(注意红色部分)

这里写图片描述

这里写图片描述

下载好Apache后,下载安装MySQL.

(3) MySQL下载安装

可以去官网下载,这里我直接给上MySQL5.5的安装包,各个版本差异不大。[点击下载MySQL5.5]。(http://download.csdn.net/detail/ydxlt/9407169)

MySQL的安装都好简单,但需要注意安装之前,先把之前安装的MySQL清理干净,否则可能会导致安装失败。如果之前的可以用,就不要在安装MySQL了。安装过程需要注意的选项如下(没有附图的代表选择默认就可以了,红色部分代表我们选择的部分):

选择第二个选择自定义安装后

这里写图片描述

这里写图片描述

这里写图片描述

用户名和密码需要记住,这里都设为root,以后我们需要这个用户名和密码连接数据库。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

MySQL安装好后,资源就准备完毕了,下面开始配置开发环境。

Apache安装配置

第一步: 找到下载的apache,解压放到一个目录下面,我这里选择的目录是D盘的AMP目录:

这里写图片描述

第二步:配置和安装apache服务,需要先修改配置文件的错误,因为apache解压版,默认apache是安装在c盘的Apache。可以通过命令行httpd -t指令检测配置文件是否有语法错误,如下:

这里写图片描述

这里的意思是说apache配置文件httpd.conf配置文件语法有错误,那我们就修改过来呗。打开apache解压目录conf文件夹下的httpd.conf文件:

这里写图片描述

打开这个配置文件:

这里写图片描述

这里我用得是notopad++,这款编辑器不错推荐一下,还有sublime text编辑器也不错。这里点击全部替换。

替换后再打开cmd命令行,输入http -t再检查一下语法,如下:

这里写图片描述

可以看到我们替换后,配置文件就有语法错误了,下面开始安装apache服务。

第三步:安装apache服务,用管理员身份打开cmd,进入apache的bin目录下执行httpd -k install命令安装apache服务:

这里写图片描述

接下来启动apache服务,测试一下是否安装成功,打开apache bin目录下的ApacheMonitor.exe(如果打开提示缺少dll文件,那么就需要安装上面说的VC了,安装后就可以打开这个monitor了),打开后如下:

这里写图片描述

OK,在浏览器中输入localhost回车,看到如下图说明apache安装成功了。

这里写图片描述

其实浏览器显示的it works是apache默认站点htdocs(其实就位于apache目录下的htdocs文件夹)下的默认主页index.html的内容。自此,apache安装成功,接下来需要配置php,让apache和php一起工作(将php作为apache的一个模块)。

第四步:配置php模块到apache服务器,以使得apache可以解析php。

先在apache 的htdocs目录建一个php文件,这里叫index.php,在这个文件中写入如下内容:

<?php
 echo "hello php world!";
?>

启动apache服务,在浏览器中输入localhost/index.php可以看到:

这里写图片描述

原封不动地显示了php的内容,并没有解析php,那么我们在httpd.conf中做如下配置:

这里写图片描述

完了后重启apache服务器(修改了配置文件都要重启),再次在浏览器中访问index.php,可以看到php被解析了:

这里写图片描述

说明:apache配置php成功!接下来,我们需要配置做一些php的相关配置及将MySQL配置到php中。

php配置(时区和MySQL)

(1) 配置php时区

打开php解压目录,可以看到:

这里写图片描述

复制开发阶段的文件到当前目录(也可以直接修改后缀),改名为php.ini,打开这个php.int,配置时区:

这里写图片描述

PRC代表中华人民共和国,即这里是中国时区,测试时区是否配置成功

在index.php中写如下语句:

<?php
 echo "hello php world!<br>";
 echo "currentTime:" . date("Y:m:d H:i:s") ."<br>"; 
?>

打开浏览器访问localhost/index.php:

这里写图片描述

这表明,时区配置成功,如果没有做上面的时区配置,那么将会显示UTC(全国统一时间),并显示警告。接下来要配置mysql了。

(2) 配置mysql

配置之前我们先在index.php中添加如下代码(前面的root是你mysql的账号,后面的root是你mysql的密码,自己改过来):

 $link = mysql_connect("localhost","root","root");
 if($link){
     echo "连接失败!";
 }else{
     echo "连接成功!";
 }

访问index.php:

这里写图片描述

发现我们调用了没有定义的函数,那我们需要将mysql模块添加到php中。

开始配置:

1、打开php.ini文件,查找extension_dir关键字

可以看到这行语句:

这里写图片描述

去掉前面的注释并将ext文件路径改成我们自己的ext路径,即修改为:

这里写图片描述

2、在php.int中继续查找php_mysql关键字

这里写图片描述

重新启动apache,再次访问index.php:

这里写图片描述

至此php web开发环境就搭建好了。

总结:

php web开发环境搭建的整个过程主要是为了完成三个任务,即:

  1. 配置apache以运行php,即输入第一行语句;
  2. 配置时区,即输入第二行语句;
  3. 配置mysql,即输入第三行的结果。

所以我们在测试页面index.php中写了如下测试代码:

<?php
 echo "hello php world!<br>"; // 能解析输出hello php world!说明php模块成功添加到了apache中了
 echo "currentTime:" . date("Y:m:d H:i:s") ."<br>";  // 能输出我们现在的时间,说明时区改过来了
 $link = mysqli_connect("localhost","root","28b21c1cfd"); // mysql连接成功,说明mysql模块成功添加到了php中了
 if($link){
     echo "连接成功!";
 }else{
     echo "连接失败!";
 }
?>

这些都能成功输出说明我们的环境搭建完成了,这里说明一下,apache安装后有个默认的站点是安装目录的htdocs文件夹,这个我们也可以修改,还可以配置多站点及访问权限和分布式权限控制,这个将在以后的文章中会记录,其实也很简单。