新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单!
本教程适用于初学PHP,想了解手动搭建PHP环境的童鞋。
一键环境和高手勿喷。
本教程以下列版本软件为例:
所需软件目录
我在这里的目录结构是(个人习惯)
安装与配置 apache
双击安装Apache
这里我们选择第一个,然后点击 Next。
这里随便填一个域名,随便填一个 email 就可以了。
然后选择
默认占用 80 端口就 OK 了点击 Next。
点击 Next。
这里选择安装路径
然后点击intall
正在安装中
安装完成
右下角这里是绿色的表示成功了!
这时我们在地址栏里输入 localhost 就会显示 It works!
到此Apache就安装完了。
这里我可以介绍一下Apache的安装目录
APACHE2.2 目录
├─bin --> binary,二进制文件,是 apache 的主程序及控制台等可执行程序的目录
├─cgi-bin --> 公共网关接口方式存放程序的目录
├─conf ---->config 的缩写,配置文件目录
│ ├─extra ---> 辅配置文件
│ ├─original---> 原始的配置文件,可以在修改失败后来恢复用 │
└─httpd.conf -->主配置文件,引入 extra 里面的各子配置文件
├─error --->存入一些请求错误时,所给客户回应的信息.
├─htdocs ---> 网页的主目录
├─icons --->一些小图标
├─logs ---> 日志信息,其中 error.log 是错误日志信息,对我们调试很有帮助.
├─manual --> 手册,帮助文档
└─modules --> 模块目录,放置各种功能模块
下面介绍一下如何修改默认主页
新安装的 apache 它的默认主页是 index.html
首先我们来到Apache2.2conf目录下面,找到 httpd.conf 文件
我们随便用一个文编编辑器打开它
然后我们搜索 index.html
在大约 241 行找到
如果你只指定了一个目录,没有指定访问的网页,它就会默认访问指定目录下的index.html 文件,
这个文件是可以设置多个的,并且优先级是从前到后。
这里我们可以将它设置为 index.html index.php
这样服务器默认先访问 index.html,如果没有,则默认访问 index.php
注意:我们改完了 apache 配置文件后要重启一下才会生效。
我们可以用命令行重启它(这里我们要用管理模式启动命令行):
先输入net stop apache2.2
再输入net start apache2.2
或者在计算机管理里面重启 Apache服务
还可以用 Apache自带的管理器重启
如何修改服务器根目录
在 httpd.conf 文件里搜索 DocumentRoot 在大约 179 行 我们来修改它的根路径
然后再下面大约 206 行处也要修改一下,注意要和上面修改的一样
如何修改 Apache 的监听端口
我们接着在 httpd.conf 文件里搜索 80 在大约46行找到 Listen。
Listen 是听的意思,也就是说它在监听 80 端口如果我们将它更改为 81 ,然后重启 Apache 这时我们再次访问 localhost
这是因为浏览器请求 http 协议的时候默认访问的是 80 端口,也就是说如果只写localhost,那它实际访问的是 localhost:80,但是我们现在把监听的端口改成了 81,那么我们输入网址时就应该这样写 localhost:81。
当然我们也可以让它监听多个端口,如下图:
安装与配置 PHP 解释器
现在我们在根目录新建一个a.php 文件,然后输入 <?php echo 'hello world'; ?>
然后我们用浏览器打开它将显示如下图内容
貌似不太对劲啊!?可以看出来 php 文件并没有被解析,而是原样输出了...
这是为什么呢?
因为Apache是一个服务器,它只能响应一些静态的东西,如html、图片等等。
但是像这样的程序,它就不能解析了这时我们就要请出PHP的解释器
解压 PHP,并配置 php.ini
我们将它解压到文件夹 PHP5.3.2 中然后配置 php.ini
我们发现在目录中找不到 php.ini 但是我们能找到这两个文件
我们现在是处于学习阶段,所以我们用development这个文件我们将php.ini-development文件复制一份并重命名为 php.ini
这里我们有两个地方需要配置,其中一个是我们将 php 解压到如下图的目录中了
PHP 和 Apache 一样都有很多个扩展模块,放在ext这个目录中了。
Ext 是 extension 的简写,所以我们要明确的告诉 php 它的 extension_dir 在哪个位置。
我们在 php.ini 中搜索 extension_dir 在大约807 行中找到extension_dir = "./"
我们看到在 extension_dir 的前面有一个分号“;”,这个是注释的意思,就是说extension_dir 被注释掉了,现在我们将分号去掉 ,并将路径更改为D:ampPHP5.3.2ext(你实际的PHP目录)
这是第一个要配置的地方。
第二个要配置的地方,我们搜索timezone在大约996行找到
Timezone是用来调时区用的,因为 php 有一些函数用来显示时间的,我们所在的时区是东八区,所以让 timezone= PRC 同时还是将前面的分号去掉。
现在我们配置完了 php 解释器,接下来我们要把php解释器和Apache整合起来。
整合 php 解释器和 Apache
让Apache引入php模块,或者说引入php解释引擎。
我们在 Apache 的配置文件httpd.conf中随便找个地方告诉 Apache,php 的配置目录在哪,也就是php.ini在哪。
在文件中随便找个地方输入PHPIniDir "D:/amp/PHP5.3.2" (这里填写你的PHP的实际目录)
这样就告诉 Apache 服务器 php.ini 的路径了。
然后我们看 php 的目录下有一个php5apache2_2.dll的文件,php 和 Apache 的连接全靠它。
然后我们在httpd.conf文件中搜索 .so,然后再 .so 的最后面加上 php5apache2_2.dll 的路径,
输入LoadModule php5_module "D:/amp/PHP5.3.2/php5apache2_2.dll"
最后我们告诉 Apache 如果遇到以.php 结尾的文件,就调用 php 解释引擎解析。
我们搜索Addtype,在大约 383 行找到,
然后再下面加上 AddType application/x-httpd-php .php .phtml
意思是如果碰到了以.php 结尾或者.phtml 结尾的文件就调用 php 解释器来解析。
现在我们重启一下Apache,这次我们再次打开 a.php 文件就会正常解析了。
接下来开启php的功能模块
在php.ini中搜索extension=php我们找到如下
我们将需要的功能模块开启就 OK 了。
我暂时就需要以上这些模块,通常新手也就用到这些然后我们重启Apache。
在开启某些模块后,重启Apache的时候会报错,这是因为兼容性的问题为了解决这个问题我们还要在 http.conf 文件中引入两个文件
LoadFile "D:/amp/PHP5.3.2/libeay32.dll"
LoadFile "D:/amp/PHP5.3.2/ssleay32.dll"
这样就解决了。
这时我们在 a.php 中输入<?php phpinfo(); ?>
就可以看到 php 的信息了。
如果在最后重启的时候失败了,我们就用命令行进行重启试一下,如果报了如下错误
这是因为系统上没有安装相应的 VC 编译器的库文件和头文件,安装后就会解决此问题。
安装与配置 Mysql
双击打开MySQL
点击 Next
我们将它设置完后,点击 Next 继续安装。
正在安装中...
现在开始配置 mysql,点击 Next继续。
我们在这里选择细节配置,然后点击 Next。
选择第一个,然后点击 Next。
这里我们可以将innoDB库也放在data下面。
点击 Next
Next!~~~
Next!~~~
NNNNNNext!!!!!
这里根据自己的需求是否可以远程登录,反正我是没有允许,然后点击next。
最后一步
点击 Execute 就可以了
经过漫长的等待.....
终于!!
哈哈!! OK!!
最后点击 Finish,就此安装完毕我们打开命令行试一下。
输入 mysql –uroot –p 密码
如果显示如下内容就说明安装成功了 !
安装phpMyAdmin
这一步应该是最简单的。
Phpmyadmin 是一个B/S软件,是一个可视化管理 Mysql 的软件,我们直接将它解压到,根目录中就可以了。
然后我们直接在浏览器中打开它
如果正常显示登录页面就代表成功了。
如果出现下面这种情况
出现这个问题,是因为 PHP 的 mbstring 扩展没有打开,或者说 PHP 扩展路径没有被正确指定,请打开 php.ini,将 ;extension=php_mbstring.dll 前面的分号(;)去掉,在php.ini 中 增 加 一 句 extension_dir="D:ampPHP5.3.2ext"; 其 中D:ampPHP5.3.2ext 是指 php_mbstring.dll 文件存放的目录,也就是PHP 扩展目录(PHP 目录下的 ext 目录),请修改此目录路径为你的实际路径。
修改完后重新启动服务器即可。
phpMyAdmin安装到此就结束了。
本教程适合想了解手动搭建PHP环境的新童鞋,不喜勿喷,谢谢!
本教程到此结束。
新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单!的更多相关文章
- php 手动搭建环境
php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...
- PHP手动搭建环境
php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...
- 分享关于搭建高性能WEB服务器的一篇文章
这篇文章主要介绍了Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器的相关资料,需要的朋友可以参考下(http://m.0813s ...
- Linux手动搭建LAMP环境
当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...
- php手动搭建wamp环境(一)--之 Apache HTTP Servcer-Apache
前言:因为之前为了快速进入工作(其实是懒!),所以一直使用集成环境 wampserver 或 phpstudy,傻瓜式安装使用卸载,配置也简单.但是最近新电脑突然想回顾一下手动安装,所以记录一下.搭 ...
- Arcgis Android 手动搭建开发环境
前言 本文为大家分享arcgis android 环境的手动搭建过程,默认你懂一定的java和android 基础知识,已经有android的开发环境.如缺乏以上环境和知识,请自行补充. 版本介绍 A ...
- WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5
//来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...
- 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)
1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...
- 萌新--关于vue.js入门及环境搭建
十几天闭关修炼,恶补了html跟css以及JavaScript相应的基础知识,恰巧有个群友准备做开源项目,愿意带着我做,但是要求我必须懂vue.js,所以开始恶补vue.js相关的东西. 在淘宝上买了 ...
随机推荐
- CentOS6.5 虚拟机 磁盘扩容
1. 关闭虚拟机 2. 编辑虚拟机设置:增加硬盘的置备大小,或者添加新的硬盘 3. 启动虚拟机,查看可用磁盘大小 : # df -Th Filesystem Type Size Used Avail ...
- Java : Spring基础 AOP
简单的JDK动态代理例子(JDK动态代理是用了接口实现的方式)(ICar是接口, GoogleCar是被代理对象, MyCC是处理方法的类): public class TestCar { publi ...
- Final,finally,finalize区别
final— 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为f ...
- Python学习手册之正则表达式和元字符
在上一篇文章中,我们介绍了 Python 的数据封装.类方法.静态方法和属性函数,现在我们介绍 Python 的正则表达式和元字符.查看上一篇文章请点击:https://www.cnblogs.com ...
- PHP连接MySql闪断自动重连的方法
使用php作为后台运行程序(例如短信群发),在cli模式下执行php,php需要连接mysql循环执行数据库处理. 当mysql连接闪断时,之后循环的执行将会失败. 我们需要设计一个方法,当mysql ...
- C语言经典程序100例
-------------------------------------------------------------------------------- [程序1] 题目:古典问题:有一对兔子 ...
- 数据结构之 AVL个人笔记
从这位前辈的博客园中学习的数据结构:https://www.cnblogs.com/skywang12345/ 非常感谢这位前辈. 以下文章摘录于 :skywang12345的博客园:转载请注明出处: ...
- 解决区间第K大的问题的各种方法
例题:http://poj.org/problem?id=2104 最近可能是念念不忘,必有回响吧,总是看到区间第k大的问题,第一次看到是在知乎上有人面试被弄懵了后来又多次在比赛中看到.以前大概是知道 ...
- [原创]python写的sniffer
import socket s=socket.socket(socket.PF_PACKET,socket.SOCK_RAW,8) while 1: data=s.recv(65535) print ...
- 北京Uber优步司机奖励政策(1月19日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...