1、下载php语言包

  php作为一门语言,本身可以是一个纯绿色版的"文件夹"——称之为"php语言包"。windows版的下载地址:https://windows.php.net/download/

  我没选择7.x版。我下的是 php-5.6.40-Win32-VC11-x64.zip

  解压到D:\DevTools\php-5.6.40-Win32-VC11-x64,这个目录下有个命令: php.exe。

2、配置php环境变量

  为了在任何目录下可以使用php.exe命令,我配置了PHP_HOMT=D:\DevTools\php-5.6.40-Win32-VC11-x64, path=;%PHP_HOMT%;以前的内容

3、测试php环境变量

  使用php.exe命令运行脚本
    * 运行php文件:php.exe -f "php文件路径"
    * 运行php代码:php.exe -r "php脚本代码"

  a.html

<!DOCTYPE html>
<html>
<head>
<title>a.html</title>
</head>
<body>
<?php
echo 'hello world';
?>
</body>
</html>

  进入到a.html文件目录,shift+右键,在此处打开Powershell窗口,输入命令:php -f b.html,结果:

<!DOCTYPE html>
<html>
<head>
<title>a.html</title>
</head>
<body>
hello world
</body>
</html>
PS C:\Users\oy\Desktop\phpTemp>

4、下载apache服务器(windows安装)

   http://httpd.apache.org/docs/current/platform/windows.html#down

Popular options for deploying Apache httpd, and, optionally, PHP and MySQL, on Microsoft Windows, include:
ApacheHaus
Apache Lounge
BitNami WAMP Stack
WampServer
XAMPP

  

  我是从ApacheHaus里下载:httpd-2.4.38-o102r-x64-vc14-r2.zip。下载完安装包后解压。

5、修改配置文件:
        记事本打开httpd-2.4.38-o102r-x64-vc14-r2\Apache24\conf目录下的httpd.conf文件,找到Define SRVROOT把引号的内容改为你的Apache安装路径
        修改后:

Define SRVROOT "D:/DevTools/httpd-2.4.38-o102r-x64-vc14-r2/Apache24"

6、在windows系统中安装apache服务

  以管理员权限,命令行下进入到apache下面的bin目录,输入 - httpd -k install,把apache安装成windows后台服务。
       注意:
        - 解决Win10安装Apache缺少vcruntime140.dll文件问题:https://blog.csdn.net/xiaoyanol/article/details/53576561, 在Windows下运行最新版的Apache和php7都需要Visual C++ Redistributable 2015,
          而之前的版本不需要那么高的,这个组件是运行Visual Studio 2015所建立的C++应用的必要组件
        
        - 下载apache服务器(windows)的网站ApacheHaus下面就提供了Visual Studio Redistributable Packages的下载。
        
        - 安装成功:
            D:\DevTools\httpd-2.4.38-o102r-x86-vc14-r2\Apache24\bin>httpd -k install
            [Sun Mar 31 10:57:13.640942 2019] [mpm_winnt:error] [pid 4804:tid 580] AH00433: Apache2.4: Service is already installed.
        
        - 查看服务是否安装成功:
          开始-->运行-->services.msc-->确定(win10直接搜索"服务")
          打开后如果在服务列表能够看到apache2.4字样,说明,服务安装成功,可以直接点击左边的启动按钮来启动服务。

7、启动apache服务

  启动Apache2.4服务: net start Apache2.4
       关闭Apache2.4服务: net stop Apache2.4

  启动Apache2.4服务,在浏览器输入http://localhost/,可以看到it works,成功。

8、配置apache以运行php代码

  将 a.html复制到D:\DevTools\httpd-2.4.38-o102r-x86-vc14-r2\Apache24\htdocs目录中,浏览器访问:http://localhost/a.html

  httpd.conf的配置:

Define SRVROOT "D:/DevTools/httpd-2.4.38-o102r-x64-vc14-r2/Apache24"
ServerRoot "${SRVROOT}"
#####################################################################
#第一步:
#装载php模块,其实就是指php语言包的一个文件。要给出php5apache2_4.dll的完整目录。
LoadModule php5_module "D:/DevTools/php-5.6.40-Win32-VC11-x64/php5apache2_4.dll"
#第二步:
#告知apache,凡是".php"后缀文件,找php语言模块(这里称为application/x-httpd-php)
<FilesMatch "\.php$">
  setHandler application/x-httpd-php
</FilesMatch>
#####################################################################】

   复制a.html文件到Apache24\htdocs目录中,修改文件后缀为a.php。

  注:

  加载php模块时无法启动 net start Apache2.4    
  找问题:cmd进入Apache24\bin目录,输入【httpd -t】,结果报错。=========通过这个命令来检查httpd.conf是否配置对。

D:\DevTools\httpd-2.4.38-o102r-x86-vc14-r2\Apache24\bin>httpd -t
httpd: Syntax error on line 187 of D:/DevTools/httpd-2.4.38-o102r-x86-vc14-r2/Apache24/conf/httpd.conf:
Cannot load D:/DevTools/php-5.6.40-Win32-VC11-x64/php5apache2_4.dll into server:
%1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3

问题原因:apache是32位,改成64位。

9、php配置 php.ini

  将php语言包下的php.ini-development文件复制一份,并改名类php.ini。

  在a.php中添加一句代码用于显示当前时间,发现时区不对。

echo "当前时间为:" . date("Y-m-d H:i:s");

  php时区配置:php.ini,搜索"date.timezone",配置成如下

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

  在apache配置文件httpd.conf中添加:

#####################################################################
#第一步:
#装载php模块,其实就是指php语言包的一个文件。要给出php5apache2_4.dll的完整目录。
LoadModule php5_module "D:/DevTools/php-5.6.40-Win32-VC11-x64/php5apache2_4.dll"
#第二步:
#告知apache,凡是".php"后缀文件,找php语言模块(这里称为application/x-httpd-php)
<FilesMatch "\.php$">
setHandler application/x-httpd-php
</FilesMatch>
#第三步
#配置php.ini的路径
PHPIniDir "D:/DevTools/php-5.6.40-Win32-VC11-x64"
#####################################################################

10、php添加对mysql模块的支持

  修改php.ini,重启apache。

11、php测试mysql模块

  首先安装msyql软件,安装过程略。

  修改a.php:

<!DOCTYPE html>
<html>
<head>
<title>a.php</title>
</head>
<body>
<?php
echo 'hello world<br/>';
echo "当前时间为:" . date("Y-m-d H:i:s"); #连接数据库
$conn = mysqli_connect("localhost","root",""); #判断是否连接成功
if(!$conn){
echo "失败";
} //选择数据库
mysqli_select_db($conn,"db_test"); //准备sql语句
$sql = "select * from t_stu"; //发送sql语句
$obj = mysqli_query($conn,$sql); //echo "<center>";
echo "<table border = 1 cellspacing = '0' cellpadding = '10'>";
echo "<th>编号</th><th>姓名</th><th>年龄</th><th>操作</th>";
while($row = mysqli_fetch_assoc($obj)){
echo "<tr>";
echo '<td>'.$row['id'].'</td>';
echo '<td>'.$row['name'].'</td>';
//echo '<td>'.$row['password'].'</td>';
//echo '<td>'.$row['address'].'</td>';
//echo '<td>'.$row['sex'].'</td>';
echo '<td>'.$row['age'].'</td>';
echo '<td><a href = "del.php?id='.$row['id'].'">删除</a>/<a href = "update.php?id='.$row['id'].'">修改</a></td>';
echo "</tr>";
} echo "</table>";
echo "<a href = 'add.php'>添加</a>";
//echo "<center>"; //关闭连接
mysqli_close($conn);
?> <?php
echo "<pre>";
print_r($_SERVER);
echo "</pre>"; echo "<table border='1'>";
foreach($_SERVER as $key => $value){
echo "<tr>";
echo "<td>$key</td>";
echo "<td>$value</td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>

  浏览器访问http://localhost/a.php,结果:

  

php(一)搭建php开发环境的更多相关文章

  1. 自定义搭建PHP开发环境

    学习了一段时间php了,因为之前是刚接触php,所以用的是集成安装包(wamp).现在想进一步了解apache.mysql.php之间的关系以及提升自己所以进行自定义搭建PHP开发环境.废话不多说,请 ...

  2. 使用virtualenv搭建python3开发环境

    问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本. 之前的做法是直接从源码安装python3,替换掉现有的开发环 ...

  3. Windows下搭建PHP开发环境

    PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

  4. 搭建Android开发环境附图详解+模拟器安装(JDK+Eclipse+SDK+ADT)

    ——搭建android开发环境的方式有多种,比如:JDK+Eclipse+SDK+ADT或者JDK+Eclipse+捆绑好的AndroidSDK或者Android Studio. Google 决定将 ...

  5. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  6. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  7. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  8. 第二章 搭建Android开发环境

    这一章为我们讲解了如何搭建Android开发环境. 首先要了解的是Android底层开发需要哪些工具:搭建android应用程序开发环境.android NDK开发环境和交叉编译环境,前两个用来测试L ...

  9. 搭建java开发环境、使用eclipse编写第一个java程序

    搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...

  10. 第二章 搭建Android开发环境--读书笔记

    俗话说,工欲善其事,必先利其器,对于Android驱动开发来说,首先我们要做的就是搭建Android开发环境,我们首先要配置Linux驱动的开发环境,接着还得配置开发Android应用程序以及Andr ...

随机推荐

  1. git目录

    git学习网站 https://backlog.com/git-tutorial/cn/intro/intro1_1.html

  2. SpringBoot 注解

    @RestController和@RequestMapping注解 我们的Example类上使用的第一个注解是 @RestController .这被称为一个构造型(stereotype)注解.它为阅 ...

  3. parse

    import Parse from 'parse'; import { AsyncStorage } from 'react-native'; // 创建新的子类 var GameScore = Pa ...

  4. 刷Python核心编程第三版的习题时遇到一个findall的坑

    在用正则表达式做以下查找时,发现re.findall()对于正则表达式有没有圆括号是有区分的,具体如下 line = 'Tue Sep 18 12:48:21 2029::ilziuv@zcntzir ...

  5. Linux的邮件服务器配置

    一.邮件服务简介 1.电子邮件服务是Interne上最基本的服务之一,进入互联网的用户不需要任何纸张就可以方便地使用电子邮件来收发邮件 2.Internet上的电子邮件服务都是基于客户/服务器模式的 ...

  6. jQuery实现input框输入值动态搜索

    我们在平时的前端开发中,经常会遇到添加数据,如果在添加之前要指定某个用户或对象进行关联,那在实现上要比普通的添加要繁琐一点.我本来的想法是给一个iframe,在 里面显示所有的数据并提供一个筛选的功能 ...

  7. JSON.parse(JSON.stringify(obj))

    JSON.parse(JSON.stringify(obj)实现数组的深拷贝 利用JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象

  8. python coroutine

    1. Python Async/Await入门指南 2. 用 Python 3 的 async / await 做异步编程 3.

  9. js--深拷贝与浅拷贝

    对象:只针对于Object和Array这样的引用数据类型 说明:浅拷贝只复制指向某个对象的指针,而不是复制对象的本身,新旧对象还是共享一块内存.但深拷贝会另外创造一个一模一样的对象,新的对象跟原对象不 ...

  10. 单元测试系列之十一:Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...