PHP更新已经到了5.4.7了,之前是用PHPstudy安装的PHP5.2.13版本,今天有空,就把之前的集成安装卸载了.换上了新一代PHP,记录一下..

环境:Windows7 64位(内部版本7600)

零,准备工作.

从https://www.apachelounge.com/download/下载Apache 2.4

https://www.apachelounge.com/download/win32/binaries/httpd-2.4.3-win32.zip

下载PHP5.4 http://windows.php.net/download/#php-5.4-ts-VC9-x86

下载MySQL(选择ZIP no-install手动安装的)

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

下载Xdebug 2.2.1 PHP 5.4 VC9 TS (64 bit)

http://www.xdebug.org/files/php_xdebug-2.2.1-5.4-vc9-x86_64.dll

下载Apache2.4的php5.4模块

http://www.apachelounge.com/download/win32/modules-2.4/php5apache2_4.dll-php-5.4-win32.zip

一,目录规划和环境变量

1, Apache,PHP,MySQL 统一放在D:Program Filesphpstudy里边

网站根目录是 F:www

Apache解压到 D:Program FilesphpstudyApache24

MySQL解压到 D:Program FilesphpstudyMySQL

PHP5.4解压到 D:Program FilesphpstudyPHP54

php5apache2_4.dll选择PHP5.4.7版本的,放在D:Program FilesphpstudyPHP54ext, php_xdebug-2.2.1-5.4-vc9-x86_64.dll也放在这个目录

2,把PHP,Apache,MySQL的bin路径添加到系统环境变量,如下图


1
2
D:Program FilesphpstudyPHP54;D:Program FilesphpstudyApache24bin;D:Program FilesphpStudyMySQLbin;
#别忘了后面的分号

把PHP,Apache,MySQL的bin路径添加到系统环境变量

添加系统环境变量之后,就可以直接在命令提示符下运行这3个文件夹中的程序了..

二,安装Apache


1, 修改D:Program FilesphpstudyApache24confhttpd.conf


1
2
3
4
5
6
#服务器名及监听的端口号
ServerName localhost:80
#服务器的目录
ServerRoot "D:/Program Files/phpstudy/Apache24"
#网站根目录
DocumentRoot "f:/www"

2, 进入命令提示符,httpd -k install安装Apache服务


1
2
3
4
5
6
7
8
9
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
 
C:UsersDeloz>httpd -k install
Installing the Apache2.4 service (OS 5)拒绝访问。  : AH00369: Failed to open the WinNT service manager, perhaps you forgot to log in as Adminstrator?
 
C:UsersDeloz> #没有管理员权限

那就以管理员身份运行吧.在开始菜单,输入cmd进行搜索,在程序类别的cmd.exe,右键选择”以管理员身份运行”.如下图

输入cmd进行搜索,在程序类别的cmd.exe,右键选择以管理员身份运行

继续安装Apache服务..


1
2
3
4
5
6
7
8
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
 
C:windowssystem32>httpd -k install
Installing the Apache2.4 service
The Apache2.4 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

启动Apache服务


1
2
3
C:windowssystem32>net start Apache2.4
Apache2.4 服务正在启动 .
Apache2.4 服务已经启动成功。

停止Apache服务


1
2
3
C:windowssystem32>net stop Apache2.4
Apache2.4 服务正在停止.
Apache2.4 服务已成功停止。

卸载Apache服务


1
2
3
C:windowssystem32>httpd -k uninstall
Removing the Apache2.4 service
The Apache2.4 service has been removed successfully.

三,安装MySQL

1,在d:Program FilesphpstudyMySQL新建一个文件夹tmp

2,复制一份my-medium.ini,并重命名为my.ini,编辑my.ini

#socket路径在[client]和[mysqld]各有一个,都要改. socket = d:/Program Files/phpstudy/MySQL/tmp/mysql.sock 在mysqld区段,添加下面两个 basedir = “d:/Program Files/phpstudy/MySQL” #datadir就是放数据库文件的位置 datadir = “d:/Program Files/phpstudy/MySQL/data”

修改后,如下图

修改my.ini

3,在命令提示符,安装MySQL服务.


1
2
C:windowssystem32>mysqld --install
Service successfully installed.

卸载MySQL服务


1
2
C:windowssystem32>mysqld --remove
Service successfully removed.

启动MySQL服务


1
2
3
C:windowssystem32>net start MySQL
MySQL 服务正在启动 ..
MySQL 服务已经启动成功。

停止MySQL服务


1
2
3
C:windowssystem32>net stop MySQL
MySQL 服务正在停止.
MySQL 服务已成功停止。

4,设置MySQL的root密码

1
C:windowssystem32>mysqladmin -u root password "root"

四,安装PHP

1,把xdebug扩展(php_xdebug-2.2.1-5.4-vc9-x86_64.dll)放在d:Program Filesphpstudyphp54ext

2,为了让php.exe运行时,知道要到哪里找php.ini,把下面代码存为inifilepath.reg,然后双击此文件,导入注册表.


1
2
3
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREPHP]
"IniFilePath"="D:\Program Files\phpstudy\PHP54\"

3,在d:Program Filesphpstudyphp54新建文件夹tmp和pear

复制一份php.ini-development,并重命名为php.ini,编辑php.ini


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#把;error_log = php_errors.log 修改为 error_log = d:/Program Files/phpstudy/PHP54/tmp/php_errors.log #;date.timezone =修改为 date.timezone = PRC  
#下面这2个,自己决定了 post_max_size = 100M #upload_max_filesize通常比post_max_size小 upload_max_filesize = 50M  
#修改相关路径
#上传暂存路径,别忘了创建对应的文件夹 upload_tmp_dir = d:/Program Files/phpstudy/PHP54/tmp/upload include_path = ".;d:/Program Files/phpstudy/PHP54/pear" session.save_path = d:/Program Files/phpstudy/PHP54/tmp/session extension_dir = d:/Program Files/phpstudy/PHP54/ext extension_dir = "ext"  
#取消常用的扩展前面的分号注释 extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_pdo_sqlite.dll extension=php_sqlite.dll extension=php_sqlite3.dll  
#在php.ini的最后加入 [Xdebug] zend_extension_ts="d:/Program Files/phpstudy/PHP54/ext/php_xdebug-2.2.1-5.4-vc9-x86_64.dll" zend_extension="d:/Program Files/phpstudy/PHP54/ext/php_xdebug-2.2.1-5.4-vc9-x86_64.dll" xdebug.auto_trace=On xdebug.collect_params=On xdebug.collect_return=On xdebug.trace_output_dir="d:/Program Files/phpstudy/PHP54/tmp/xdebug" xdebug.profiler_enable=On xdebug.profiler_output_dir="d:/Program Files/phpstudy/PHP54/tmp/xdebug"

五,让Apache认识PHP

修改d:Program FilesphpstudyApache24confhttpd.conf


1
2
3
4
5
6
7
8
9
10
11
12
#搜索LoadModule,在一排LoadModule下边添加2行
LoadModule php5_module "d:/Program Files/phpstudy/php54/ext/php5apache2_4.dll"
PHPIniDir "d:/Program Files/phpstudy/php54/"
 
#搜索AddType,添加一行
AddType application/x-httpd-php .php
 
#搜索scriptAlias,修改脚本别名
ScriptAlias /cgi-bin/ "d:/Program Files/phpstudy/Apache24/cgi-bin/"
 
#搜索mod_rewrite.so,把最前面的分号注释去掉,变为下面这样
LoadModule rewrite_module modules/mod_rewrite.so

修改完之后,重新启动apache2.4服务


1
2
3
4
5
6
7
C:windowssystem32>net start apache2.4
Apache2.4 服务正在启动 .
Apache2.4 服务无法启动。
 
发生服务特定错误: 1.
 
请键入 NET HELPMSG 3547 以获得更多的帮助。

这样看不出来是什么.运行httpd,就可以看到了


1
2
3
C:windowssystem32>httpd
httpd: Syntax error on line 173 of D:/Program Files/phpstudy/Apache24/conf/httpd.conf: Cannot load d:/Program Files/phpstudy/php54/php5apache2_4.dll i
nto server: xd5xd2xb2xbbxb5xbdxd6xb8xb6xa8xb5xc4xc4xa3xbfxe9xa1xa3

可以看到,路径没对.少了ext

Update: 如果电脑未安装 Visual C++ Redistributable for Visual Studio 2012,也会出现这个问题,请从微软官方网站下载(http://www.microsoft.com/zh-cn/download /confirmation.aspx?id=30679)安装之后再启动Apache

六,快速重启Apache

把下面代码存为ar.cmd


1
2
3
4
@echo off
net stop apache2.4
net start apache2.4 pause

放在任意的系统环境变量目录,例如d:Program FilesphpstudyApache24bin里边,下次直接在命令提示符运行ar重启Apache,方便多了..


1
2
3
4
5
6
7
8
9
10
11
12
13
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
 
C:windowssystem32>ar
Apache2.4 服务正在停止.
Apache2.4 服务已成功停止。
 
Apache2.4 服务正在启动 .
Apache2.4 服务已经启动成功。
 
请按任意键继续. . .
 
C:windowssystem32>

七,多站点配置

编辑d:Program FilesphpstudyApache24confhttpd.conf,把Include conf/extra/httpd-vhosts.conf前面的分号注释去掉

编辑d:Program FilesphpstudyApache24confextrahttpd-vhosts.conf,如下


1
2
3
4
5
6
7
<VirtualHost localhost:80>
    ServerAdmin webmaster@mm.com
    DocumentRoot "f:/www/localhost" ServerName localhost
    ErrorLog "logs/localhost-error.log" CustomLog "logs/localhost-access.log" common
</VirtualHost>

然后在hosts文件把localhost指向127.0.0.1

八,完毕

至此,Apache2.4,PHP5.4,MySQL5.5在Windows7 64的安装完结了...

Xdebug好像在5.4有问题,这个还没解决...


1
2
3
4
5
C:windowssystem32>php -v
Failed loading d:/Program Files/phpstudy/PHP54/ext/php_xdebug-2.2.1-5.4-vc9-x86_64.dll
PHP 5.4.7 (cli) (built: Sep 12 2012 23:48:31) Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies