博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows10搭建PHP7开发环境
阅读量:6202 次
发布时间:2019-06-21

本文共 3028 字,大约阅读时间需要 10 分钟。

原文:

3年前写了一篇之后就再也没有碰过PHP了,最近新发布了然后回去看了一下之前写的文章,发现很多配置都已经过时,所以就打算再写一篇新的。

安装准备 – 系统:Windows 10

  • Apache 上Apache官网才发现官方已经不提供Apache服务器的安装包,只有源码编译,也同时推荐了一些其他开发者提供的安装包,如、等。我这里用的是Apache Lounge的安装包,同时系统必须安装了C++ Redistributable Visual Studio 2015 Update 1: ,最后还有后面需要用到的FastCGI模块
  • PHP 
  • MySQL 

安装软件

安装Apache

首先解压httpd-2.4.18-win64-VC14.zip,为了方便管理我将解压得到的文件夹Apache24放到C:/PHPServer目录下。同时对Apache配置文件httpd.conf中用到路径的配置作相应修改:

ServerRoot "C:/PHPServer/Apache24"Document Root "C:/PHPServer/Apache24/htdocs"
...

 

以管理员身份启动命令提示符,使用cd C:/PHPServer/Apache24/bin切换到apache的命令目录,在命令行输入httpd.exe即可启动apache服务器。

在浏览器输入地址,出现It works!即代表apache启动成功。
这种方式并没有将apache安装成为系统服务,命令行退出了服务也就结束了。安装成服务也非常简单,只需要执行http.exe -k install,卸载服务http.exe -k uninstall。安装成功后启动bin目录下的ApacheMonitor可以对服务器进行管理。

安装Mysql

Mysql官方提供两种安装方式,一种是常规的msi安装包的方式,另一种是压缩包形式的免安装方式。我之前的一篇博客就是用的msi安装包,所以这里尝试一下压缩包的形式安装。

首先解压mysql-5.7.10-winx64.zip,为了方便执行Mysql命令可以将Mysql的bin目录添加到系统的环境变量Path。安装Mysql前需要指定数据文件的存放路径,默认路径为Mysql目录下的data目录,需要手工创建这个目录。目录创建好后可以开始初始化数据了:

// 初始化数据库文件mysqld --initialize-insecure --console

 

常用参数说明

  • –console 在命令行输出执行的信息
  • –initialize-insecure 初始化数据不生成登录密码 
  • –initialize 初始化数据并随机生成登录密码
  • –user=root 指定数据库超级用户,默认root,也可以改成别的帐号
  • –defaults-file=C:/Program Files/Mysql/my.cnf 指定mysql配置文件
  • –basedir 指定安装目录
  • –datadir 指定数据存放目录

mysql配置文件样例(my.cnf)

[mysqld]basedir=C:/Program Files/MySQLdatadir=D:/MySQLdata

 

数据初始完成后再重新执行一次mysqld启动数据库,使用mysqladmin -u root -p shutdown关闭数据库,数据库启动完成后需要修改root密码

// 如果使用--initialize初始化,需要输入密码登录mysql -u root --skip-password// 修改用户密码为123456ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

 

 

最后将Mysql安装为系统服务 mysqld --install (安装前先关闭mysql)

安装Php

在之前的博客中采用的是php作为Apache模块安装运行,从php官网了解到,php7作为Apache模块安装时仅支持VC6以下的Apache,不能和VC9以上的Apache一起运行。所以推荐采用fastcgi形式安装。

首先解压php-7.0.0-Win32-VC14-x64.zip到C:/PHPServer/并重命名为php7。将前面准备好的FastCGI模块mod_fcgid-2.3.9-win64-VC14.zip解压得到mod_fcgid.so文件拷贝到Apache的modules文件夹。修改Apache配置文件httpd.conf添加FastCGI配置:

LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "C:/PHPServer/php7" FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 AddType application/x-httpd-php .php
" AddHandler fcgid-script .php FcgidWrapper "C:/PHPServer/php7/php-cgi.exe" .php

 

 

为站点根目录的Options增加ExecCGI,我设置的站点目录为C:/PHPServer/Apache24/htdocs

AllowOverride All Options -Indexes +ExecCGI

 

找到DirectoryIndex index.html改为DirectoryIndex index.php index.html 站点默认加载index.php

Apache配置已经完成接着要配置php7,php的配置文件为php.ini,文件夹中并没有这个文件,但提供了php.ini-development和php.ini-production这两个文件作为参考,我们直接将php.ini-development改为php.ini作为配置文件即可。配置文件可以设置php扩展库,需要指定扩展库所在的目录。

找到php.ini中关于extension_dir的注释,在后面直接添加extension_dir="C:/PHPServer/php7/ext"
开启相应的库只需要去除前面的分号(注释)即可

extension=php_curl.dllextension=php_gd2.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_xmlrpc.dll

 

最后设置相应的时区date.timezone = Asia/Shanghai

配置完成,重启Apache使配置生效。在站点目录新建index.php文件,并输入以下内容

 

 

在配置中如果目录带有空格,需要使用 \ 进行转义

IDE

就我所知,目前市场上比较好用的IDE应该是jetbrains开发的,不过软件的授权还是挺贵的。之前用过的Zend studio也是不错的选择,当然足够熟练的话SublimeText或Vim都可以开发的很好,IDE并不是最关键的。

 

新博客地址:

转载地址:http://eetca.baihongyu.com/

你可能感兴趣的文章
轻松自定义一个响应式的timeline时间线组件(横向和纵向)
查看>>
基于promise对象的两种类库q库和bluebird基础调用和原理
查看>>
transform导致字体模糊的bug
查看>>
DPOS 共识算法 - 缺失的白皮书
查看>>
JavaScript-解构
查看>>
XMLHttpRequest快餐
查看>>
Angular 2.x+ 脏检查机制理解
查看>>
Vue全家桶+Mint-Ui打造高仿QQMusic,搭配详细说明
查看>>
[LeetCode] Lowest Common Ancestor of a Binary Tree系列
查看>>
【114天】尚学堂高琪JAVA300篇视频笔记(31-37)[舍弃]
查看>>
git:cherry-pick、revert、reset介绍
查看>>
计算几何笔记之凸包
查看>>
SQL系列之基本操作
查看>>
速率限制思路
查看>>
Angular开发者指南(二)概念概述
查看>>
Native进程之Trace原理
查看>>
V8 Object 内存结构与属性访问详解
查看>>
EF Core 2.1路线图:视图、GROUP BY和惰性加载
查看>>
MySQL 8支持文档存储,并带来性能和安全方面的改进
查看>>
Visual Studio 15改进C++工程加载
查看>>