WIN7环境下搭建PHP7(64位)操作步骤
2016年12月27日
安装与配置Apache
- 下载Apache
https://blog.csdn.net/u012748719/article/details/90477779
下载地址:https://www.apachelounge.com/download/
- 安装Apache
- 将压缩包解压到c:\目录下,并且命名为Apache24;
- 启动Windows命令行,并且切换到Apache安装目录下的bin子目录内;
- 将httpd.exe安装为windows系统的服务;
系统提示如下:
报错原因:需要VC++2015
- 下载VC++2015 并安装
下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
安装成功后,可以在“控制面板”中进行查看:
- 重新尝试第三步操作,结果如下:
启动Apache
- 启动浏览器后,然后输入http://127.0.0.1,查看运行效果:
安装与配置PHP
- 下载PHP
下载地址:http://windows.php.net/download
- 安装PHP
- 将压缩包解压到c:\目录下,并且命名为php7.0;
复制php.ini-production并且重新命名为php.ini;
将PHP绑定到Apache
编辑Apache配置文件 — httpd.conf(位于Apache安装目录下的conf子目录内);
- 添加以下语句
LoadModule php7_module “c:\php7.0\php7apache2_4.dll”
PHPIniDir “c:\php7.0”
AddType application/x-httpd-php .php
- 编辑DocumentRoot和Directory选项,以编辑Apache的主目录;
- 编辑DirectoryIndex选项,以编辑Apache的默认首页(多个文件名称之间以空格分隔);
- 保存设置后,重新启动Apache;
- 在Apache主目录内创建index.php,并且输入以下内容:
<?php
phpinfo();
- 重启浏览器,并且输入http://127.0.0.1/index.php
安装MySQL
- 下载MySQL
下载地址:http://dev.mysql.com/downloads/mysql/
- 安装MySQL
- 将压缩包解压到c:\目录下,并且命名为mysql5.7;
- 复制my-default.ini,并且重新命名为my.ini;
- 编辑my.ini,配置如下:
[mysql]
default-character-set=utf8
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# 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
- 启动windows命令行,并且切换到c:\mysql5.7\bin子目录,然后输入
这样的话,就可以将MySQL安装成为Windows操作系统的一种服务了:
- 然后再输入:
执行完上述命令,MySQL自动创建data文件夹,并且建好默认数据库,登录的用户名为root,密码为空;
- 最后输入 net start mysql 启动服务;
- 登录MySQL
扩展知识
- Apache的httpd命令详解
- 基础
httpd.exe为Apache HTTP服务器程序,直接执行程序可启动服务器的服务。
- 语法格式:
httpd [-D name] [-d directory] [-f file]
[-C “directive”] [-c “directive”]
[-w] [-k start|restart|stop|shutdown]
[-k install|config|uninstall] [-n service_name]
[-v]
- 选项:
- -D name
设置参数parameter ,它配合配置文件中的
- -d directory
将ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。
- -f file
在启动中使用config作为配置文件。如果config不以”/“开头,则它是相对于ServerRoot的路径。
- -C “directive”
在读取配置文件之前,先处理directive的配置指令。
- -c “directive”
在读取配置文件之后,再处理directive的配置指令。
- -w
保持打开控制台窗口,使得可以阅读出错信息。
- -k start|restart|stop|shutdown
httpd启动、重新启动或停止
- -k install|config|uninstall
安装Apache为一个Windows NT的服务;改变Apache服务的启动方式;删除Apache服务。
- -n service_name
指定Apache服务的名称为name
- -v
显示httpd的版本,然后退出。
- -h
输出一个可用的命令行选项的简要说明。
- 在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 the server’s fully qualified domain name
- 编辑httpd.conf文件,搜索”#ServerName”
- 添加ServerName localhost:80
- 重新启动服务器
- TS与NTS
- 什么是TS?什么是NTS?
Windows版的PHP从5.2.1开始有Thread Safe(TS,线程安全)和None Thread Safe(NTS,非线程安全)之分。
Thread Safe执行时会进行线程(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, Server 2012 / 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服务器命令选项
- 用法
mysqld [OPTIONS]
mysqld是MySQL服务器
mysql是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句。
- NT和Win32特定选项
- —install,安装默认服务(服务将自动启动);
- — install-manual,安装默认服务(服务将手动启动);
- — install service_name,安装指定名称的服务(服务将自动启动);
- —install-manual service_name,安装指定名称的服务(服删务将手动启动);
- —remove,从服务列表中删除默认服务;
- —remove service_name,从服务列表中删除指定名称的服务;
- 选项列表
- —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,输出版本信息并退出;
- 在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 | 用户相关选项 |