php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败。

我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合。

一、PHP语言包下载

首先从官网上下载php5.6 http://windows.php.net/download#php-5.6

选择完整版下载:

二、 Apache服务器下载

首先从官网上下载Apache2.4  http://httpd.apache.org/download.cgi

进入第二个界面,选择第二个选项:

根据电脑的不同,选择相应的位数:

注意有句话:

大体意思是,配置好Apache之后,要运行ApacheMonitor.exe,可能会报缺少dll文件,如果报缺少文件,需要下载这个软件。

下载好Apache2.4之后继续下载MySQL 5.6。

三、MySQL 5.6服务的下载。

我使用的是mysql5.6.17这个版本  官网下载地址: https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html

可能官网下载会比较慢,也可以直接网上找。

这个文件有两种,一种是安装版(msi结尾的文件),还有一种是免安装版(zip结尾的文件)

两种都可以。

注意:之前数据库里有东西最好备份一下

我使用的是免安装版,自己觉得这个版本产生的错误比较少。下面介绍免安装版的配制方法:

解压到自定义目录,我解压的目录是D:\LAMP\mysql-5.6.17-winx64

将根目录下的my-default.ini,改名为my.ini,my.ini用下面内容替换全部内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[client]
port=3306
default-character-set=utf8
#客户端字符类型,与服务端一致就行,建议utf8
[mysqld]
port=3306
character_set_server=utf8
#服务端字符类型,建议utf8
basedir=D:\LAMP\mysql-5.6.17-winx64
#解压根目录
datadir=D:\LAMP\mysql-5.6.17-winx64\data
#解压根目录\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\LAMP\mysql-5.6.17-winx64\bin\mysqld.exe
#解压根目录\bin\mysqld.exe

 

注意这句话:

1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

这里设置的是,如果要在表里面的某一列添加空数据,不能使用  ''  的方式,必须要写入  NULL  不能加引号。

如果想用 ''  的方式,就把这句话改成:

1
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

环境变量配置

我的电脑-属性-高级-环境变量-新建

变量MYSQL_HOME  值D:\LAMP\mysql-5.6.17-winx64

找到变量path 编辑,在后面加上  ;%MYSQL_HOME%\bin

运行中输入cmd ,或找到C:\Windows\System32\cmd.exe,进入mysql解压目录bin子目录下

1
2
3
4
5
6
7
8
9
C:\Documents and Settings\Administrator>cd\
C:\>d:
D:\>cd LAMP
D:\LAMP>cd mysql-5.6.17-winx64
D:\LAMP\mysql-5.6.17-winx64>cd bin
D:\LAMP\mysql-5.6.17-winx64\bin>
D:\LAMP\mysql-5.6.17-winx64\bin>mysqld -install
提示:Service successfully installed.及即安装成功。
(CMD命令:CD\  返回根目录 D: 进入D盘  cd LAMP  进入LAMP文件夹)

 

1
2
3
4
5
启动、停止、移出MYSQL服务
  启动MYSQL服务:net start mysql
  停止MYSQL服务:net stop mysql
  移出mysql服务:mysqld -remove
这里启动服务,方便下一步操作。

 这样就配置完了。

如果是msi结尾的文件,安装过程为:

进入这个界面,选择第二个custom设置路径

一路选择默认选项,

这里设置密码。

MySQL安装好后就可以开始配置开发环境了

Apache安装配置

1、将下载的Apache2.4 解压到自定义目录,我这里选择的目录是D盘的AMP目录。

2、打开apache解压目录conf文件夹下的httpd.conf文件:

查找所有的c:Apache24   将其修改为你自己解压的目录,应该有好几个地方需要改,直接使用记事本的替换功能。

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

如图红色文字显示,则成功。

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

4、测试

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

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

这个文件夹 htdocs 就是作为php文件运行的根目录, 所有php文件都要放在这里面才可以运行。

配置php模块到apache服务器

1、在Apache24/conf/httpd.conf中做如下配置:

在文件最后加入以下代码(注意修改路径):

1
2
3
4
LoadModule php5_module D:\AMP\php-5.6.30-Win32-VC11-x64\php5apache2_4.dll
AddType application/x-httpd-php .php
LoadModule php5_module modules/libphp5.so
PHPIniDir D:\AMP\php-5.6.30-Win32-VC11-x64

  

完了后重启apache服务器(修改了配置文件都要重启)。

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

1
2
3
<?php
 echo "hello php world!";
?>

在浏览器中输入localhost/index.php可以看到:

apache配置php成功,然后需要配置做一些php的相关配置及将MySQL配置到php中。

php配置

配置时区:

打开php解压目录,找到php.ini-development文件,将其改名为php.ini,用记事本打开。

找到(带分号)     ;date.timezone =

去掉前面的分好,修改为   date.timezone = Asia/Shanghai

测试:在根目录下的index.php 文件夹中写入以下代码

1
2
3
4
<?php
 
 echo  date("Y:m:d H:i:s");
?>

 浏览器运行如果显示了当前时间,则配置时区成功。

配置mysql

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

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

1
extension_dir = "D:\AMP\php-5.6.30-Win32-VC11-x64\ext"

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

将图中两项前面的分号去掉。如果之后在php运行中,缺少扩展,可将相应的内容之前的分号去掉。

3、设置编码:

查找 default_charset =

将其改为:

default_charset = "UTF-8"

至此php环境搭建完成,可以将php文件放入htdocs文件夹中运行了。

 

PHP手动搭建环境的更多相关文章

  1. php 手动搭建环境

    php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...

  2. 新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单!

    本教程适用于初学PHP,想了解手动搭建PHP环境的童鞋. 一键环境和高手勿喷. 本教程以下列版本软件为例: 所需软件目录 我在这里的目录结构是(个人习惯) 安装与配置 apache 双击安装Apach ...

  3. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  4. Linux手动搭建LAMP环境

    当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...

  5. 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

    1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...

  6. php手动搭建wamp环境(一)--之 Apache HTTP Servcer-Apache

    前言:因为之前为了快速进入工作(其实是懒!),所以一直使用集成环境 wampserver  或 phpstudy,傻瓜式安装使用卸载,配置也简单.但是最近新电脑突然想回顾一下手动安装,所以记录一下.搭 ...

  7. Arcgis Android 手动搭建开发环境

    前言 本文为大家分享arcgis android 环境的手动搭建过程,默认你懂一定的java和android 基础知识,已经有android的开发环境.如缺乏以上环境和知识,请自行补充. 版本介绍 A ...

  8. 手动搭建的react环境中,关于图片引入的问题

    react手动搭建的环境,require引进来图片不显示,网页src显示[object module] 解决方案 (1)import引进图片 import anli from './img/anli. ...

  9. Windows手动搭建PHP运行环境

    首先~可以先在目录里面创建一个wamp目录,我的创建在 E: 盘 1.0 下载Apache2.4,x64位.VC11组件[电脑多少位装多少位] apache下载地址:https://www.apach ...

随机推荐

  1. OfficeToHtmlHelper

    public class Office2HtmlHelper { /// <summary> /// Word转成Html /// </summary> /// <par ...

  2. 简单探究Android平台下' if ' 语句条件判断耗时情况

    2017年6月13日 前言 前几日在改Bug时看到好多调试时用的日志语句都被一个日志开关控制着它的执行权.形如: if(Constants.LOG_TAG){ Log.d(TAG, "Ini ...

  3. codeforces1101D GCD Counting 【树形DP】

    题目分析: 蛮简单的一道题,对于每个数拆质因子,对于每个质因子找出最长链,在每个地方枚举一下拼接 代码: #include<bits/stdc++.h> using namespace s ...

  4. 关于工具类中@Autowired注入为NULL的问题记录

      记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功. @Component //把普通pojo实例化到spring容器中 0 public clas ...

  5. scrapy入门与进阶

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  6. [CEOI2007] 树的匹配Treasury

    类型:树形 DP 传送门:>Here< 题意:给一棵树,你可以匹配有边相连的两个点,问你这棵树的最大匹配是多少,并且计算出有多少种最大匹配. 解题思路 首先树形Dp是很明显的,$f[i][ ...

  7. DNSCrypt

    DNSCrypt 来源 https://www.cnblogs.com/qiudabai/articles/9219840.html https://www.opendns.com/about/inn ...

  8. rt-thread之stm32系列BSP制作方法

    @2019-01-24 [小记] bsp制作方法: 官网下载 rt-thread 源码,将路径 bsp/stm32/libraries/templates/ 下的模板文件,Copy至路径 bsp/st ...

  9. js中获取css样式属性值

    关于js中style,currentStyle和getComputedStyle几个注意的地方 (1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.针对css ...

  10. Vue组件之间数据交互与通信

    Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 一.父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传 ...