目前,php的最新版本是7.0.10,Apache的最新版本是2.4.23,MySQL的最新版本是5.7.14,好久没在Windows环境下搭建AMP环境了,这次准备用非线程安全的Apache+fcgid来完成搭建,Windows我们选择Windows 7 ,其他在Windows 8.1和Windows 10下,搭建方法应该是完全相同的(但是不支持Windows XP);所有软件均为64位软件。

在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包。

PHP版本:我们选择去官方网站下载,下载页面http://windows.php.net/download/,你也可以直接点击这里下载7.0.10的版本。

Apache2.4版本现在官方已经不提供现成的二进制安装程序了,现在官方推荐主要是去apachelounge去下载,目前的最新版本2.4.23请直接下载

Apache使用的fcgid模块下载地址也在apachelounge,目前最新版本是2.3.9,点击直接下载

PHP7和Apache运行需要微软VC14运行库,下载地址在微软,选择64位的版本就可以了。

Mysql版本请去官方下载,目前的最新版本5.7.14,我们直接选择绿色压缩包“mysql-5.7.14-winx64.zip”下载。

本机的IP是192.168.42.81

PHP环境搭建第一步:安装VC14运行环境,这个这里就不多说了。

php环境搭建第二步:解压httpd-2.4.23-win64-VC14.zip,把其中的Apache24文件夹放到C盘的根目录。

php环境搭建第三步:解压mod_fcgid-2.3.9-win64-VC14.zip,把其中的mod_fcgid.so文件放到c:\Apache24\modules\文件夹下面。

PHP环境搭建第四步:Windows 7下安装Apache服务。

把Apache加入服务记得得以管理员权限运行cmd。

先cd c:\Apache24\bin\,再httpd -k install安装服务,如下图:

amp1报错没关系,这里的报错主要是因为我们没有指定servername导致的,待会配置的时候配置下就行了。

配置文件如下:

ServerRoot "c:/Apache24"
Listen 80

LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule fcgid_module modules/mod_fcgid.so

<IfModule unixd_module>
User daemon
Group daemon
</IfModule>

ServerAdmin xxy@ntbaobei.com
ServerName 192.168.42.81:80

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error.log"
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access.log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
</IfModule>

<IfModule cgid_module>
</IfModule>

<Directory "c:/Apache24/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

FcgidInitialEnv PATH "c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
FcgidInitialEnv TMP "C:/WINDOWS/Temp"
FcgidInitialEnv windir "C:/WINDOWS"
FcgidIOTimeout 64
FcgidConnectTimeout 16
FcgidMaxRequestsPerProcess 1000 
FcgidMaxProcesses 50 
FcgidMaxRequestLen 8131072

FcgidInitialEnv PHPRC "c:/php"
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

<FilesMatch "\.php$">
  SetHandler fcgid-script
  FcgidWrapper "c:/php/php-cgi.exe"
</FilesMatch>

在这里主要配置Network Domain、Server Name、Email地址以及Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录。

PHP环境搭建第五步:Windows 7下安装Mysql服务。

解压mysql-5.7.14-winx64.zip里面的文件夹到C盘根目录,把解压后的文件夹重命名为MySQL,这样,mysql的路径为c:\MySQL

在c:\MySQL下建立文本文件my.ini,内容如下:

[client]
no-beep
port=3306

[mysql]
default-character-set=utf8

[mysqld]
port=3306
datadir=C:/MySQL/Data
character-set-server=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

log-output=FILE
general-log=0
general_log_file="ADAGENE-BIO-20.log"
slow-query-log=1
slow_query_log_file="ADAGENE-BIO-20-slow.log"
long_query_time=10
log-error="ADAGENE-BIO-20.err"
server-id=1
secure-file-priv="C:/MySQL/Uploads"

max_connections=151
query_cache_size=0
table_open_cache=2000
tmp_table_size=277M
thread_cache_size=10
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=541M
key_buffer_size=8M
read_buffer_size=64K
read_rnd_buffer_size=256K

innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=48M
innodb_thread_concurrency=9
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0

back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
query_cache_type=0
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000

如何把绿色版MySQL加入服务,请访问本站的这篇文章

打开cmd(管理员权限)初始化数据库:

cd /d c:\MySQL\bin
mysqld --initialize-insecure
sc start MySQL
mysqladmin -u root password NEWPASSWD

尝试登录下,用刚才的密码
amp2成功!

登录后创建数据库,创建可以访问数据库的用户和密码,这对于wordpress这样的应用,建议设定专门的数据库和专门的用户。

create database wordpress;
grant all privileges on wordpress.* to wordpress@localhost identified by 'YOURPASSWD';

PHP环境搭建第六步:安装php

解压php-7.0.10-nts-Win32-VC14-x64.zip里面的文件到c:\php中,没有c:\php就新建这个文件夹。

复制文件夹下的php.ini-production文件,重命名为php.ini。

编辑php.ini文件,php的配置总体非常多,下面几项是需要编辑修改的。

[PHP]
extension_dir = "ext"
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
fastcgi.logging = 0
[Date]
date.timezone = Asia/Shanghai
[opcache]
opcache.huge_code_pages=1

用ApacheMonitor.exe启动Apache
amp3

一些额外的配置,我们也可以配置下(如果有必要的话)

1、配置PHP的Session功能:

在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在 php.ini配置文件中找到

;session.save_path = “/tmp”

修改为

session.save_path = “D:/phpsessiontmp”

2、配置PHP的文件上传功能:

同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要 在Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到

;upload_tmp_dir =

修改为

upload_tmp_dir = “D:/phpfileuploadtmp”

至此在Windows 7上php的环境配置就算完成了,你只需要在c:\Apache24\htdocs\目录下新建一个PHP文件index.php,写入

<?php
phpinfo();
phpinfo(INFO_MODULES);
?>

然后在游览器中输入http://localhost/,就可以看到PHP的具体配置页面了,代表在Window 7上PHP环境配置工作就算完成了。

amp4接下来我们可以安装诸如wordpress或者phpbb等相应的应用了,这里就不在赘述了。

Windows 7下安装配置PHP7+Apache2.4+MySQL5.7
Tagged on:             

发表评论

邮箱地址不会被公开。 必填项已用*标注