多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
前言 在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](http://windows.php.net/download#php-7.0),在这里选择电脑处理器位数和相应的版本的php下载(最好是线程安全的)。这篇文章基于php5.6。 (2) Apache服务器 官网有很多种类和版本,这里的文章是基于Apache 2.4,去官网下载apache教程: 1、进入apache[下载官网](http://httpd.apache.org/download.cgi),如下图,点击红色部分 ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3821d1b.jpg "") 2、进入第二个页面,选择红色部分 ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3839420.jpg "") 3、进入第三个页面,选择相应VC版本的apache下载(注意红色部分) ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b384d6f5.jpg "") ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b388a1a3.jpg "") 下载好Apache后,下载安装MySQL. (3) MySQL下载安装 可以去官网下载,这里我直接给上MySQL5.5的安装包,各个版本差异不大。[点击下载MySQL5.5]。([http://download.csdn.net/detail/ydxlt/9407169](http://download.csdn.net/detail/ydxlt/9407169)) MySQL的安装都好简单,但需要注意安装之前,先把之前安装的MySQL清理干净,否则可能会导致安装失败。如果之前的可以用,就不要在安装MySQL了。安装过程需要注意的选项如下(没有附图的代表选择默认就可以了,红色部分代表我们选择的部分): 选择第二个选择自定义安装后 ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b38b405e.jpg "") ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b38de763.jpg "") ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3912b2c.jpg "") 用户名和密码需要记住,这里都设为root,以后我们需要这个用户名和密码连接数据库。 ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3934280.jpg "") ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3952dca.jpg "") ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3974ec2.jpg "") ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b399ab9a.jpg "") MySQL安装好后,资源就准备完毕了,下面开始配置开发环境。 Apache安装配置 第一步: 找到下载的apache,解压放到一个目录下面,我这里选择的目录是D盘的AMP目录: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b39bfe1e.jpg "") 第二步:配置和安装apache服务,需要先修改配置文件的错误,因为apache解压版,默认apache是安装在c盘的Apache。可以通过命令行httpd -t指令检测配置文件是否有语法错误,如下: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b39d72fa.jpg "") 这里的意思是说apache配置文件httpd.conf配置文件语法有错误,那我们就修改过来呗。打开apache解压目录conf文件夹下的httpd.conf文件: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b39ee281.jpg "") 打开这个配置文件: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3a14692.jpg "") 这里我用得是notopad++,这款编辑器不错推荐一下,还有sublime text编辑器也不错。这里点击全部替换。 替换后再打开cmd命令行,输入http -t再检查一下语法,如下: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3a364a8.jpg "") 可以看到我们替换后,配置文件就有语法错误了,下面开始安装apache服务。 第三步:安装apache服务,用管理员身份打开cmd,进入apache的bin目录下执行`httpd -k install`命令安装apache服务: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3a47f27.jpg "") 接下来启动apache服务,测试一下是否安装成功,打开apache bin目录下的ApacheMonitor.exe(如果打开提示缺少dll文件,那么就需要安装上面说的VC了,安装后就可以打开这个monitor了),打开后如下: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3a56fac.jpg "") OK,在浏览器中输入localhost回车,看到如下图说明apache安装成功了。 ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3a821fc.jpg "") 其实浏览器显示的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可以看到: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3a945b1.jpg "") 原封不动地显示了php的内容,并没有解析php,那么我们在httpd.conf中做如下配置: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3aa6de3.jpg "") 完了后重启apache服务器(修改了配置文件都要重启),再次在浏览器中访问index.php,可以看到php被解析了: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3ac7d92.jpg "") 说明:apache配置php成功!接下来,我们需要配置做一些php的相关配置及将MySQL配置到php中。 php配置(时区和MySQL) (1) 配置php时区 打开php解压目录,可以看到: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3adabd1.jpg "") 复制开发阶段的文件到当前目录(也可以直接修改后缀),改名为php.ini,打开这个php.int,配置时区: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3af3118.jpg "") PRC代表中华人民共和国,即这里是中国时区,测试时区是否配置成功 在index.php中写如下语句: ~~~ <?php echo "hello php world!<br>"; echo "currentTime:" . date("Y:m:d H:i:s") ."<br>"; ?> ~~~ 打开浏览器访问localhost/index.php: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3b1ad9c.jpg "") 这表明,时区配置成功,如果没有做上面的时区配置,那么将会显示UTC(全国统一时间),并显示警告。接下来要配置mysql了。 (2) 配置mysql 配置之前我们先在index.php中添加如下代码(前面的root是你mysql的账号,后面的root是你mysql的密码,自己改过来): ~~~ $link = mysql_connect("localhost","root","root"); if($link){ echo "连接失败!"; }else{ echo "连接成功!"; } ~~~ 访问index.php: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3b294ff.jpg "") 发现我们调用了没有定义的函数,那我们需要将mysql模块添加到php中。 开始配置: 1、打开php.ini文件,查找extension_dir关键字 可以看到这行语句: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3b3aa54.jpg "") 去掉前面的注释并将ext文件路径改成我们自己的ext路径,即修改为: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3b4c628.jpg "") 2、在php.int中继续查找php_mysql关键字 ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3b61fe5.jpg "") 重新启动apache,再次访问index.php: ![这里写图片描述](https://box.kancloud.cn/2016-03-17_56ea5b3b82aaa.jpg "") 至此php web开发环境就搭建好了。 总结: php web开发环境搭建的整个过程主要是为了完成三个任务,即: 1. 配置apache以运行php,即输入第一行语句; 1. 配置时区,即输入第二行语句; 1. 配置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文件夹,这个我们也可以修改,还可以配置多站点及访问权限和分布式权限控制,这个将在以后的文章中会记录,其实也很简单。