window环境下PHP环境搭建

  • Post author:
  • Post category:php



安装与配置Apache


1、 下载Apache

下载地址:https://www.apachelounge.com/download/


2、 安装Apache

A、将压缩包解压到

D:\wamp

目录下,并且命名为Apache24;

(任意盘,任意目录)


B、 以

管理员的身份启动windows命令行

,并且切换到Apache安装目录下的bin子目录内;

修改httpd.conf

ServerRoot”D:\wamp\Apache24″   //Apache目录

DocumentRoot”D:\wamp\www”

<Directory”D:\wamp\www”>//项目目录

C、 将httpd.exe安装为windows系统的服务 :

httpd -k install

成功:


报错原因:需要VC++2015

D、 下载VC++2015 并安装

下载地址:



https://www.microsoft.com/z

h-cn/download/confirmation.aspx?id=48145





安装成功后,可以在“控制面板”中进行查看:


E、 重新尝试第三步操作

F、 启动Apache:命令行输入

httpd -k start

或者去安装目录打开bin\ApacheMonitor.exe

G、启动浏览器后,然后输入



http://127.0.0.1



,查看运行效果

安装与配置PHP


1、 下载PHP

下载地址:



http://windows.php.net/download



2、 安装PHP

A、将压缩包解压到D:\wamp目录下,并且命名为php7.0;

B、 复制php.ini-production并且重新命名为php.ini;

将PHP绑定到Apache

A、编辑Apache配置文件 –httpd.conf(位于Apache安装目录下的conf子目录内);

B、 添加以下语句

LoadModule php7_module "D:\wamp\php7.0\php7apache2_4.dll"
PHPIniDir "D:\wamp\php7.0"
AddType application/x-httpd-php .php
 

C、 编辑DirectoryIndex选项,以编辑Apache的默认首页(多个文件名称之间以空格分隔);

D、 保存设置后,重新启动Apache;

E、 在Apache主目录内创建index.php,并且输入以下内容:

<?php
phpinfo();

F、 重启浏览器,并且输入



http://127.0.0.1/index.php


补   充:1、开启错误报告,调试使用:display_errors = On;线上环境应为off

2、开启扩展:修改:

extension_dir =”D:\wamp\php7.0\ext”

去掉常用扩展前面的分号

安装MySQL


1、下载MySQL

下载地址:



http://dev.mysql.com/downloads/mysql/



2、安装MySQL

A、 将压缩包解压到d:\wamp目录下,并且命名为mysql5.7;

B、 复制my-default.ini,并且重新命名为my.ini;

C、 编辑my.ini,配置如下:


[mysql]


default-character-set


=


utf8


[mysqld]



# Remove leading # and set to the amount of RAM for the most importantdata



# cache in MySQL. Start at 70% of total RAM for dedicated server, else10%.



# innodb_buffer_pool_size = 128M



# Remove leading # to turn on a very important data integrity option:logging



# changes to the binary log between backups.



# log_bin



# These are commonly set, remove the # and set as required.


basedir


=


c:\mysql5.7


datadir


=


c:\mysql5.7\data


port


=


3306


max_connections


=


200


character-set-server


=


utf8


default-storage-engine


=


INNODB


如:

basedir= D:\wamp\mysql5.7

datadir= D:\wamp\mysql5.7\data

D、 启动windows命令行,并且切换到c:\mysql5.7\bin子目录,然后输入 mysqld –install

这样的话,就可以将MySQL安装成为Windows操作系统的一种服务了:

E、  然后再输入:


mysqld –initialize-insecure –user=mysql

执行完上述命令,MySQL自动创建data文件夹,并且建好默认数据库,登录的用户名为root,密码为空;


F、

最后输入 net start mysql 启动服务;

G、 登录MySQL

补充:1、卸载MySQL的命令:mysqld–remove

2、配置MySQL环境变量:计算机–>属性–>高级系统设置–>环境变量–>path,在path属性里添加mysql\bin路径,注意与之前的属性之间用英文的分号隔开

;D:\wamp\mysql5.7\bin

扩展知识


一、Apache的httpd命令详解


3、基础

httpd.exe为Apache HTTP服务器程序,直接执行程序可启动服务器的服务。


4、语法格式:

httpd  [



D name] [



d directory] [



f

file

]

[



C

“directive”

][



c

“directive”

]

[



w] [



k start

|

restart

|

stop

|

shutdown]

[



k install

|

config

|

uninstall] [



nservice_name]

[



v]


5、选项:

Ø  -Dname

设置参数parameter ,它配合配置文件中的<IfDefine>段,用于在服务器启动和重新启动时,有条件地跳过或处理某些命令。

Ø  -ddirectory

将ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。

Ø  -ffile

在启动中使用config作为配置文件。如果config不以”/”开头,则它是相对于ServerRoot的路径。

Ø  -C”directive”

在读取配置文件之前,先处理directive的配置指令。

Ø  -c”directive”

在读取配置文件之后,再处理directive的配置指令。

Ø  -w

保持打开控制台窗口,使得可以阅读出错信息。

Ø  -kstart|restart|stop|shutdown

httpd启动、重新启动或停止

Ø  -kinstall|config|uninstall

安装Apache为一个Windows NT的服务;改变Apache服务的启动方式;删除Apache服务。

Ø  -nservice_name

指定Apache服务的名称为name

Ø  -v

显示httpd的版本,然后退出。

Ø  -h

输出一个可用的命令行选项的简要说明。


6、在windows下使用http.exe命令的案例

Ø  httpd-k install

将Apache注册为windows服务,因为使用的是apache2.4版本,所以默认的服务名为”Apache2.4。

Ø  httpd-k install -n “服务名”

将Apache注册为windows服务,自己指定一个服务名字。

Ø  httpd-k install -n “服务名” -f”conf\my.conf”

将Apache注册为windows服务,自己指定一个服务名字,并且使用特定配置文件。

Ø  httpd-k uninstall

移除Apache服务,缺省地,将使用”Apache2.4″

Ø  httpd-k uninstall -n “服务名”

移除Apache服务,自己制定一个服务名称

Ø  httpd-k start

启动Apache服务。

Ø  httpd-k stop

停止Apache服务。

Ø  httpd-k restart

重启Apache服务。

Ø  解决apache启动错误:Could not reliably determine theserver’s fully qualified domain name

A、 编辑httpd.conf文件,搜索”#ServerName”

B、 添加ServerName localhost:80

C、 重新启动服务器


二、TS与NTS


1、 什么是TS?什么是NTS?

Windows版的PHP从5.2.1开始有ThreadSafe(TS,线程安全)和None Thread Safe(NTS,非线程安全)之分。

ThreadSafe执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源;Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

如果要在Apache中以模块方式安装PHP,则应该使用PHP的线程安全的版本。原因是当PHP作为Apache的模块安装时,PHP没有独立的进程,而是作为模块以DLL的形式被加载到Apache中的,是随Apache的启动而启动的,而Windows下的Apache为多线程工作模式,因此PHP自然也就运行在多线程模式下。因此,这种情况下应使用PHP的线程安全版本。


扩展知识:如果要在IIS

中以FastCGI方式使用PHP,则应该使用PHP的非线程安全的版本(Non-Thread Safe,NTS)。原因是以FastCGI方式安装PHP时,PHP拥有独立的进程,并且FastCGI是单一线程的,不存在多个线程之间可能引发的相互干扰(这种干扰通常都是由于全局变量和静态变量导致的)。由于省去了线程安全的检查,因此使用FastCGI方式比ISAPI方式的效率更高一些。


三、VC11 & VC14

VC11是指该版本的PHP用VisualStudio2012编译的,运行在: 7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server2012 / R2, Server 2016;

VC14是指该版本的PHP用VisualStudio2015编译的,运行在:7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server 2012/ R2, Server 2016;


四、使用mysqld手动初始化data目录

要初始化MySQL的data目录,需要调用mysqld命令,并且辅以–initialize或者–initialize-insecure选项,前者将为root@localhost用户产生一个随机密码;而后者将为root@localhost用户产生一个空密码。

在Windows操作系统中,可以使用以下命令:

C:\mysql5.7\bin>mysqld --initialize
C:\mysql5.7\bin>mysqld --initialize-insecure

Unix或类Unix系统上,要确保数据库目录和文件属于mysql服务器登录帐户,这样才有权限进行读写操作。为了确保这一点,作为根用户的root用户运行mysqld,包括–user选项:

C:\mysql5.7\bin>mysqld --initialize --user=mysql
C:\mysql5.7\bin>mysqld --initialize-insecure --user=mysql


五、MySQL服务器命令选项


1、 用法


mysqld [OPTIONS]



mysqld


是MySQL

服务器



mysql


是一个命令行客户程序,用于交互式或以批处理模式执行SQL

语句。


2、 NT和Win32特定选项

Ø  –install,安装默认服务(服务将自动启动);

Ø  — install-manual,安装默认服务(服务将手动启动);

Ø  — install service_name,安装指定名称的服务(服务将自动启动);

Ø  –install-manualservice_name,安装指定名称的服务(服删务将手动启动);

Ø  –remove,从服务列表中删除默认服务;

Ø  –remove service_name,从服务列表中删除指定名称的服务;


3、 选项列表

Ø  –defaults-file=#,只通过指定文件来读取默认的配置选项;

Ø  –auto-increment-offset[=#],设置自动递增列的起始值;

Ø  –auto-increment-increment[=#],设置自动递增列的步长值;

Ø  –autocommit,设置事务是否自动提交(0或者1);

Ø  -b, –basedir=name,设置MySQL的安装目录;

Ø  -C,–character-set-server=name,设置服务端端默认字符集;

Ø  –console,输出错误信息;

Ø  -h, –datadir=name,设置数据库存储的根目录路径;

Ø  –default-storage-engine=name,设置创建数据表时默认的存储引擎;

Ø  –initialize,创建默认数据库并退出,同时创建超级用户,其密码为随机过期密码(存在日志内);

Ø  –initialize-insecure,创建默认数据库并退出;同时创建超级用户(密码为空);

Ø  –max-connections=#,设置客户端允许的最大连接数;

Ø  -P, –port=#,设置默认端口号;

Ø  -u, –user=name,运行mysqld守护进程的用户;

Ø  -V, –version,输出版本信息并退出;


4、 在Windows中,MySQL程序从以下文件读取启动选项:



文件名



作用域


WINDIR


\my.ini


全局选项


C:\my.cnf


全局选项


INSTALLDIR


\my.ini


全局选项


defaults-extra-file


用–defaults-extra-file=path

指定的文件,如果有

WINDIR表示Windows目录的位置。通常为C:\WINDOWS或C:\WINNT。可以使用下面的命令通过环境变量WINDIR的值确定其确切位置:

C:\> echo %WINDIR%

在Unix中,MySQL程序从下面的文件读取启动选项:



文件名



作用域


/etc/my.cnf


全局选项


$MYSQL_HOME/my.cnf


服务器相关选项


defaults-extra-file


用–defaults-extra-file=path

指定的文件,如果有


~/.my.cnf


用户相关选项



版权声明:本文为weixin_42326971原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。