当前位置: 首页 > 编程日记 > 正文

Windows下安装PHP开发环境

一、Apache

因为Apache官网只提供源代码,如果要使用必须得自己编译,这里我选择第三方安装包Apache Lounge。

  • 进入Apachelounge官方下载地址:http://www.apachelounge.com/download/

  • 首先下载并安装vc redist,这是Apache运行必需的一个组件。

  • 下载Apache解压版,将解压后的文件夹放在你想要安装的路径下。

  • 修改配置文件:

Apache默认存在路径: c:\Apache24 下(版本号可能不同)。如果跟你的安装路径不同,你需要打开Apach\conf\httpd.conf配置文件,将其中所有前面没有被"#"注释的 c:\Apache24c:\Apache24\htdocsc:\Apache24\cgi-bin\ 改成对应的路径。

指定IP和端口:在httpd.conf找到ServerName www.example.com:80,将前面的注释去掉,将"www.example.com"修改为"localhost"。如果你要修改端口,将这里"80”和前面“Listen:80”中的80一起修改。

  • (可选)添加系统变量:将"Apache的安装路径\bin"添加到Path中。

  • 验证安装是否成功:运行Apache的启动httpd.exe。在浏览器上输入localhost:80,如果不是无法访问那么Apache的配置便完成了。

Tips: 将Apache注册为Windows服务
  • Install: apache的bin目录下管理员权限执行

      httpd.exe -k install
  • Uninstall: apache的bin目录下管理员权限执行

      httpd.exe -k uninstall

二、PHP

  • 安装配置PHP

进入PHP下载地址 http://windows.php.net/download 下载最新线程安全版PHP zip压缩包,解压缩后放在想要安装的路径下。

注意: 下载的PHP VC版本不能比前面安装的vc redist版高。


进入PHP安装目录,复制一份php.ini-development 改名为 php.ini 放到安装路径下,打开找到 ;extension_dir=ext,去掉注释符,将值改为 PHP安装路径\ext

    extension_dir = "D:/Program Files/php-7.2.10/ext"
  • 在Apache中加载PHP & 定义执行PHP模块的文件

打开Apache的配置文件conf\httpd.conf,找到LoadModule区域,在其后加入:

LoadModule php7_module "PHP安装路径\php7apache2_4.dll" # 在Apache中以module的方式加载PHP,“php7_module”中的“7”要和PHP的版本对应;此外,不同的PHP版本“php7apache2_4.dll”可能不同。

PHPIniDir "PHP安装路径" #告诉Apache PHP的安装路径

            # 在Apache中以module的方式加载PHP,“php7_module”中的“7”要和PHP的版本对应;此外,不同的PHP版本“php7apache2_4.dll”可能不同。#php  7.2.10LoadModule  php7_module 'D:/Program Files/php-7.2.10/php7apache2_4.dll' <IfModule php7_module>#告诉Apache PHP的安装路径PHPIniDir 'D:/Program Files/php-7.2.10/php.ini'        # define php  module file .php和.html的文件能执行PHP程序AddType application/x-httpd-php .php .html#AddType application/x-httpd-php-source .phps</IfModule>
  • 测试:在 Apache安装路径\htdocs下新建文件:test.php,里面编辑:<?php phpinfo(); ?>, 启动Apache, 在浏览器输入:localhost:80/test.php。

三、MySQL

  • 安装:在https://dev.mysql.com/downloads/下载相应安装版本,根据自己的需求安装。

  • 在PHP中加载连接MySQL的程序集:在php.ini extension板块中增加一行extension=php_mysqli.dll
         说明:不同的PHP版本可能提供不同的连接mysq的程序集,去ext文件夹下看看PHP提供的是什么这里就写什么。不同的程序集可能在连接数据库的时候使用的函数也不一样。

  • 测试:在test.php中编辑:<?php $mysqli = mysqli_connect("localhost","root","pwd") or die("cannt connet"); ?>,启动数据库,重启Apache,在浏览器端查看,如果没有错误信息便配置正确了。

转载于:https://www.cnblogs.com/u-drive/p/9684101.html

相关文章:

高并发简单设计

系统内存不足&#xff0c;主要是每次来一个请求的时候&#xff0c;就要创建倒排的哈希&#xff0c;这个时候如果高并发的情况下&#xff0c;就会出现问题&#xff0c;每次一个倒排索引占据内存&#xff0c;内存只有2G肯定是不够使用的 可以根据日志分析的结果&#xff0c;看看…

mysql 8.0数据备份恢复_第7章 备份和恢复

## 目录- 备份和恢复类型- 数据库备份方法- 例备份和恢复策略- 使用mysqldump进行备份- 使用二进制日志进行- 点时间(增量)恢复- MyISAM表维护和崩溃恢复备份数据库非常重要&#xff0c;这样您就可以恢复数据&#xff0c;并在发生问题时再次启动并运行&#xff0c;例如系统崩溃…

CSS 实例之打开大门

本个实例主要的效果如下图所示 本案例主要运用到了3D旋转和定位技术。具体步骤如下&#xff1a; 1、首先在页面主体加三个很简单的div标签&#xff1a; <div class"door"><div class"door-l"></div><div class"door-r">…

为 Asp.net 网站新增发送手机短信功能

本文旨在帮助那些为网站发送手机短信正在寻求解决方案还未最终找到解决方案的朋友提供参考。 适合人群 须满足一下条件之一&#xff0c;如果以下3个条件您都不满足&#xff0c;为节约您宝贵的时间&#xff0c;请终止阅读本篇文章。 条件如下&#xff1a; 1.一条短信内容进行短信…

搜索引擎Killed原因排查

问题描述 腾讯云单核2G内存&#xff0c;运行程序的时候&#xff0c;程序有时会挂掉了&#xff0c;设置ulimit -c unlimited之后&#xff0c;想要core文件&#xff0c;结果程序运行的时候&#xff0c;直接提示killed&#xff0c;没有出现core文件 调研查询 killed的原因多是因…

mysql 8.0配置主从同步_MySQL8.0.19开启GTID主从同步CentOS8

前言本次搭建目标为1主2从MySQL主从同步结构。采用CentOS8作为操作系统&#xff0c;IP为[10.0.0.211,10.0.0.212,10.0.0.213]。MySQL版本为8.0.19&#xff0c;端口均采用3306。本文仅讲解主从配置&#xff0c;因此安装MySQL的方式请参考安装文档。GTID模式介绍一、GTID Replica…

IO流总结笔记三

​ 字节流&#xff1a; 抽象基类&#xff1a;InputStream&#xff0c; OutputStream。 字节流可以操作任何数据。注意&#xff1a;字符流使用的数组是字符数组。Char [] chs 字节流使用的数组是字节数组。Byte [] bt 转换流&#xff1a; 特点&#xff1a;1&#xff0c;是字节流…

awk1.0 — awk基础

简介 grep&#xff0c;sed&#xff0c;awk被称为Linux文本处理的三剑客&#xff0c;各有特点 grep&#xff1a;适合文本的匹配和查找 sed&#xff1a;编辑匹配到的文本 awk&#xff1a;对文本进行格式化输出 awk简介 awk的基本语法是 awk [options] Pattern {Actions} …

mysql dump 参数_mysqldump常用参数

收集一些常用的mysqldump命令组合。备份数据库1.导出结构不导出数据 **复制代码代码如下:2.导出数据不导出结构3.导出数据和表结构4.导出特定表的结构导入数据&#xff1a;由于mysqldump导出的是完整的SQL语句&#xff0c;所以用mysql客户程序很容易就能把数据导入了&#xff1…

细心看完这篇文章,刷新对Javascript Prototype的理解

var person{name:ninja}; person.prototype.sayNamefunction(){return this.name; } 分析上面这段代码&#xff0c;看看有没有问题&#xff1f; 没错&#xff0c;这段代码是有问题的&#xff0c;我们可以通过Chrome看一下执行结果&#xff1a; 错误提示说找不到sayName 属性&am…

那些值得回味的MySQL的基础知识

那些值得回味的MySQL的基础知识 MySQL零碎知识点整理 题记&#xff1a; 在如今甚是流行的MySQL中有些基础的知识却是我们日常工作中处理问题容易忘却的一部分,所以不能忘了本&#xff0c;那么我们现在就去回忆那些曾经熟悉的基本吧&#xff0c;废话不多说了 基础常识&#xff…

awk2.0 — awk分隔符

再次重申awk的语法 awk [options] ‘Pattern {Actions}’ file1,file2… awk默认分隔符是空格&#xff0c;分隔符有分为“输入分隔符”和“输出分隔符”。 输入分隔符&#xff1a;awk在处理每一行文本的时候&#xff0c;以默认的空格将文本分隔成一个个单词作为变量。 输出分…

【C++自我精讲】基础系列二 const

【C自我精讲】基础系列二 const 0 前言 分三部分&#xff1a;const用法、const和#define比较、const作用。 1 const用法 const常量&#xff1a;const可以用来定义常量&#xff0c;不可改变&#xff0c;const常量在定义时必须初始化&#xff08;extern修饰时是特例&#xff09;。…

mysql system命令_mysql命令

关闭防火墙和selinux:systemctl stop firewalld.servicesetenforce 0永久关闭防火墙和selinux:systemctl disable firewalld.servicesed -i ‘/^SELINUX/s#enforcing#disabled#g’ /etc/selinux/config安装wget:yum install -y wget国内yum源:wget -O /etc/yum.repos.d/CentOS-…

django教程目录

什么是web框架&#xff1f; Do a web framework ourselves MVC和MTV模式 django的流程和命令行工具 Django的配置文件(settings) Django URL (路由系统) Django Views&#xff08;视图函数&#xff09; Template基础 Models admin的配置 Middleware cache Cookie & Session…

VRRP在企业网中的应用(H3C设备)

一&#xff1a;实验原理①VRRP概述&#xff1a;随着Internet的发展&#xff0c;人们对网络的可靠性的要求越来越高。对于局域网用户来说&#xff0c;能够时刻与外部网络保持联系是非常重要的。通常情况下&#xff0c;内部网络中的所有主机都设置一条相同的缺省路由&#xff0c;…

vue-cli脚手架(框架)

一、创建vue项目 npm install vue-cli -g #-g全局 (sudo)npm install vue-cli -g #mac笔记本vue-init webpack myvue #项目的名字 cd muvue npm install npm run dev 二、目录结构的说明 出现下面这样的图就说明成功了 三、import和require的区别 import一定要放在文件顶部…

poj 1679 次小生成树

次小生成树的求法: 1.Prime法 定义一个二维数组F[i][j]表示点i到点j在最小生成树中的路径上的最大权值。有个知识就是将一条不在最小生成树中的边Edge加入最小生成树时&#xff0c;树中要去掉的边就是Edge连接的两个端点i,j的F[i][j]。这样就能保存找到的生成树时次小生成树。 …

mysql金库模式_Python vault-anyconfig包_程序模块 - PyPI - Python中文网

vaultanyconfig" rel"nofollow">使用加载和转储功能扩展hvac hashicorp vault客户端任何配置。这允许自动混合来自保险库的机密&#xff0c;允许您存储配置填充了所有详细信息的文件保存为机密&#xff0c;然后访问hashicorp保险库将机密加载到内存字典中。支…

awk3.0 — awk变量

awk有一些内置变量和外置变量&#xff0c;内置变量就是awk自带的变量&#xff0c;用户可以拿来直接使用&#xff0c;如FS&#xff0c;OFS等 awk常用内置变量如下几种&#xff1a; FS&#xff1a;输入单词分隔符&#xff0c;默认是空格 OFS&#xff1a;输出单词分隔…

关于yum库的相关问题

局域网共享yum库的两种方式&#xff1a; 一种是基于HTTP的&#xff0c;需要配置httpd。 一种是基于FTP的。需要FTP的支持。 具体设置参数可参照网上的相关教程。 yum库的建立主要涉及到两点&#xff1a; 1、 Yum服务器安装createrepo并创建仓库 2、 安装完成之后&#xff0c;在…

[ JSOI 2015 ] Salesman

\(\\\) \(Description\) 给出一棵以\(1\)为根的\(N\)个节点的树&#xff0c;开始的时候你在\(1\)号节点。 除了\(1\)号节点以外&#xff0c;每个点都有访问次数限制\(t_i\)&#xff0c;即到达该点的次数上限。 除了\(1\)号点每个点还有一个权值\(w_i\)&#xff0c;这个权值可以…

linux安装python2和3版本_Windows下安装Python2和Python3双版本

现在大家常用的桌面操作系统有&#xff1a;Windows、Mac OS、Ubuntu&#xff0c;其中Mac OS 和 ubuntu上都会自带Python。这里我们只介绍下Windows(我用的Win10)环境下的python2.x 和 python3.x 的安装&#xff0c;以及python2.x 与 python3.x 共存时的配置问题。本节内容pytho…

JS+CSS点击弹出登陆框代码

<head><meta http-equiv"Content-Type" content"text/html; charsetgb2312"><title>弹出登录框的实现代码</title></head><body><style type"text/css">body {margin: 0px;padding:0}#div1 {display:…

awk4.0 — awk格式化

awk格式化使用printf函数&#xff0c;类似于C语言中的printf函数 比如 awk {printf "%s\n", $1} test1 上面的方式是awk每次处理一行&#xff0c;然后进行替换的&#xff0c;如果我们想要传入多个参数&#xff0c;此时就需要多个格式化

在LinearLayout中嵌套RelativeLayout来设置Button的位置(xml文件)

想将Button和ListView分别放在屏幕的一左一右。 单纯使用android:gravity和android:layout_gravity不成功。 于是涉及到RelativeLayout 关键为&#xff1a;android:layout_alignParentRight"true" android:layout_alignParentLeft"true" <?xml versio…

Scrapy爬虫-必备插件

必备插件&#xff1a; lxml, an efficient XML and HTML parser parsel, an HTML/XML data extraction library written on top of lxml w3lib, a multi-purpose helper for dealing with URLs and web page encodings twisted, an asynchronous networking framework https://…

python类和对象课件_简单解释Python的类和对象

前言&#xff1a;对象是模拟真实世界&#xff0c;把数据和程序进行封装 。对象 属性 方法我们需要用类来创造一个对象&#xff0c;就像我们要用图纸来造房子一样。在Python中函数名是以小写字母开头 &#xff0c;类名是以大写字母开头。0x00:面向对象(Object Oriented)我们一般…

awk5.0 — awk模式之一

再次重申awk的语法 awk [options] ‘Pattern {Actions}’ file1,file2… awk模式&#xff0c;在之前的文章中简单使用了BEGIN和END。这里的模式&#xff0c;其实我们可以理解成是条件&#xff0c;awk是一行行处理数据的&#xff0c;如果满足某个条件awk就处理某一行数据&#x…