说明
我的全栈之路第一步是选择了先搞定一门后台语言,之前有提到过大学期间我是学过java基础,知道的人都知道java一门强大的面向对象语言,但是java的学习成本实在太高,不是很好搞定。鉴于此我选择了现在比较流行的PHP,一个开源脚本语言,做后台开发首先就是要有环境。那么今天就先搭建环境!
几个不同的php运行环境
WAMP环境: Windows + Apache + MySQL + PHP
LAMP环境: Linux + Apache + MySQL + PHP
LNMP环境: Linux + Nginx + MySQL + PHP
系统 + 服务器 + 数据库 + 计算机语言
这三种PHP运行环境搭配是比较完美的,那么我们常用的系统是Windows系统,咱们首先研究的就是Windows下的PHP环境配置。虽然现在有许多集成的环境,基本上都是一键安装的,看似很方便,但是很不利于初学者学习,作为一个开发者我们肯定是要知道各个软件之间是如何运转的,这是毋庸置疑的!我们来一起学习一下吧。
Windows操作系统
这个其实我都不用多说,一般电脑都是Windows操作系统,Windows现在有许多版本,那么我用的是win10系统,现在一般都是win10和win7用的比较多,在下边其他软件安装配置时也许会有不同之处,不过差别都不大。
准备工作
在安装软件之前我们要在电脑上(尽量不要在C盘)新建一个文件夹,名字叫做amp,当然其他也是可以的。然后打开再新建三个文件夹,分别是:Apache , mysql , php(如下图)方便以后查找。
Apache服务器安装
获取到Apache安装包后基本都是一路next,到了安装类型要选择自定义安装,因为我们需要把安装路径改道我们新建的amp/Apache当中。安装完成之后我们需要测试一下是否安装成功,我们打开浏览器在地址栏中输入http://localhost,如果出现下图页面就表示安装成功。
Apache服务器配置
Apcahe安装结果目录介绍
Apache主配置文件:httpd.conf
位置:apache安装位置/conf/ 中
注意:
1,配置文件可以修改以实现某些功能。
2,配置文件修改,需要重启apache才生效。
3,配置文件代码可能出错——则apache重启时会失败。
检测配置文件语法
我们当然是试图写“正确的”代码,但谁都有可能出错。
关键是,我们常常不容易看出错在哪里!
这就需要有个“工具”来给我们指引方向:尽可能指出错误所在!
工具有现成的,就是:Apache安装目录/bin/httpd.exe 这个文件(命令行文件)
用法:
在cmd命令行窗口中:
h:/itcast/....../amp/apache/httpd.exe(写完整路径) - t
不想写完整路径的话可以配合环境变量,具体做法这里不详细介绍,可自行百度。
Apache的启动和停止
启动了apache,就表示web服务器可以使用(网站可以访问)。
停止了apache,就表示web服务器不能使用(网站不能访问)。
Apache的启动和停止一共有以下三种方式:
方式一:通过Apache服务监视器
方式二:通过Windows系统服务
方式三:通过cmd命令行方式(此方式,在有些系统中,需要使用“管理员身份”才能进行。)
PHP的安装与配置(重点)
PHP的安装
PHP安装也是傻瓜式安装,安装不需要太多操作,只需要把php安装到我们提前新建好的php文件夹下第一步操作就ok了。
配置Apache使Apache可以调用PHP
首先我们需要在Apache中配置(httpd.conf),加载php模块:
形式: loadModule php5_module php5apache2_2.dll的完整路径(在php文件夹中)
然后给Apache设定(httpd.conf),凡是"PHP文件"(网页),就调用PHP模块去执行。
形式:AddType Application/x-httpd-php .php
PHP配置(修改默认时区)
修改PHP初识时区
是因为PHP语言内部默认使用“格林威治时区”。我们需要设置(修改)为我们所需要的时区!
实际上,PHP也有自己的“配置文件”,在php语言文件夹中,叫做“php.ini”
我们就需要在其中修改时区(通过关键字timezone找到)
获得PHP的配置文件(php.ini)
在php语言包文件夹中,将php.ini-development文件拷贝一份,并修改文件名为:php.ini。
在Apache的配置文件(httpd.conf)中设置php.ini的路径
就是让Apache知道我们的php.ini文件在哪里!apache是需要先读取到php.ini才能生效的。
具体做法:
apache的配置文件(httpd.conf)中,添加这一行:
PHPIniDir php.ini文件所在路径
在php配置文件(php.ini)中设置timezone为PRC(中华人民共和国时区),然后重启Apache服务器
查看PHP执行环境 phpinfo();
MySQL的安装与配置
MySQL的安装
MySQL安装方法基本和PHP差不多,具体细节问题可以自行百度!
php.ini中设置mysql数据库模块
php.ini中,设置mysql的数据库模块所在位置(在php.ini中搜索关键字:extension_dir)。
php.ini中,设置该模块(实际上,只是去除注释,关键字php_mysql)。
MySQL连接测试
if(mysql_content('localhost','root','666')){
echo "连接成功!";
}else{
echo "连接失败!";
}
默认站点总结(本地站点)
站点域名:localhost // 域名可以设置
站点位置(文件夹位置): "文件夹绝对路径" //站点位置可以设置
站点默认显示的网页(首页):index.html //默认网页(首页)可以设置
网站域名的设置
语法:SeverName 要设定的网站域名(服务器名)
网站位置设置
语法:DocumentRoot 要设定的网站所在位置[文件夹]
网站文件夹访问权限的设置
以上
中间的代码基本是固定写法!
其中:
Options:选项,Indexes用于设定当没有网页显示时,是否列出当前目录
AllowOverride:允许覆盖的特性,none表示不允许覆盖,All表示可以覆盖。
Order:表示权限控制顺序,只有两个:
allow, deny 先允许,后拒绝
deny, allow 先拒绝,后允许
Allow from: 允许谁(ip)访问
deny from : 拒绝谁(ip)访问
多站点虚拟主机配置(本地)
在apache的主配置文件(httpd.conf),引入多站点的配置文件(虚拟主机配置文件)。
在虚拟主机配置文件(httpd-vhosts.conf)中,再挨个网站进行配置(每个网站一段配置)。
总结:其中配置一个站点,一半就设置以下几个工作
httpd-vhosts.conf文件中设置ServerName "域名"(服务器名)
继续在其中设置DocumentRoot "站点位置(绝对路径)"
Directory修改位置为跟上面站点位置对应
Windows/system32/drivers/ect/HOSTS文件中,添加一行对应上述域名(服务器名)
这环境已经搭建完成,有不足的地方请大家多多指教,大家相互学习!