Windows下搭建PHP开发环境

来自: http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html

PHP集成开发环境有很多,如XAMPP、AppServ(http://www.appservnetwork.com/)......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。

  一、准备工作-下载所需软件

  二、安装软件

    安装Apache: 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。

    安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。

安装PHP:将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。

  

    安装MySQL:双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom

    安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。

  三、整合Apache+PHP+MySQL

    Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf。

    1. 让Apache可以解析php文件,在配置文件中找到

        #LoadModule vhost_alias_module modules/mod_vhost_alias.so

      在下一行添加 (绿色的位置是根据PHP的所在目录而定的)

        LoadModule php5_module "D:/Develop/PHP/php5apache2_2.dll"
        PHPIniDir "D:/Develop/PHP"
        AddType application/x-httpd-php .php .html .htm

    2. 在配置文件中找到

        DirectoryIndex index.html

      改为

        DirectoryIndex index.php index.html

    3. 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)

        DocumentRoot "D:/Develop/Apache2.2/htdocs"

      改为

        DocumentRoot "D:/Workspace/PHP"

      

      再找到

        <Directory "D:/Develop/Apache2.2/htdocs">

      改为

        <Directory "D:/Workspace/PHP">  

    PHP : 把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini

      1. 设置PHP扩展包的具体目录,找到

        ; On windows:
        ; extension_dir = "ext"

      改为 (值是ext文件夹的目录)

        ; On windows:
          extension_dir = "D:/Develop/PHP/ext"

      2. 开启相应的库功能,找到需要开启的库的所在行

        ;extension=php_curl.dll

        ;extension=php_gd2.dll

        ;extension=php_mbstring.dll

        ;extension=php_mysql.dll

        ;extension=php_xmlrpc.dll

         去掉前面的分号(注释),即改为

        extension=php_curl.dll

        extension=php_gd2.dll

        extension=php_mbstring.dll

        extension=php_mysql.dll

        extension=php_xmlrpc.dll

      

      3. 设置时区,找到

        ;date.timezone =

        改为

        date.timezone = Asia/Shanghai

       

    配置完成,检测一下配置是否成功。重启Apache,在站点目录下新建文件index.php,输入内容:

<?php
phpinfo();
?>

  打开浏览器输入http://localhost,显示如下内容,则安装成功,并且成功关联MySQL。

==>常见问题:

来自: http://www.cnblogs.com/snackuo/p/3547548.html

1.80端口被占用,apache启动不了.

问题描述:默认安装apache,安装完成后可以自启动apache,但是设置手动启动时会报错,日志显示80端口被占用,修改配置文件改为81端口,可正常手动启动。自启动是因为启动顺序中apache优先,抢先占用了80端口.

排查过程:cmd窗口输入netstat –ano,发现80端口已被监听,PID=4,然后在任务管理器查询到PID是系统进程,所以只有网上搜索‘80端口被NT kernel & System 占用(pid=4)’然后找到了解决方案.

解决方法:CMD窗口net stop http然后选择y最后输入sc config http start= disabled(注意disabled前面有一个空格),然后就可以正常启动默认配置的apache.

2.apache支持php.

问题描述:我的apache版本应该是2.2安装文件是:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi

①、我的php版本是5.5.9.下载文件是:php-5.5.9-Win32-VC11-x86.zip(Thread Safe ),不是这么版本就没有需要的文件php5apache2_4.dll,然后按照一般的教程去配置,会报错:httpd.exe: Syntax error on line 131 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/PHP/php5apache2_4.dll into server: xd5xd2xb2xbbxb5xbdxd6xb8xb6xa8xb5xc4xb3xccxd0xf2xa1xa3

这个核查到的原因是需要安装文件vcredist_x86.exe对应2012版本。

安装后还是无法启动。没有任何错误日志,然后怀疑是php5apache2_4.dll的问题。

解决办法:更换php版本。php-5.4.25-Win32-VC9-x86.zip(Thread Safe )另外安装vcredist_x86.exe对应2008版本(将此版本运行库卸载了也成功了,但是2012未卸载)。然后就成功启动了。

非常有意义的参考网站有:教程问题解决办法

最有意义的参考内容:

1、Apache2.0对应的PHP模块为 php5apache2.dll

2、Apache2.2对应的PHP模块为 php5apache2_2.dll

3、Apache2.4对应的PHP模块为 php5apache2_4.dll

所以,Apache/PHP的搭配有以下几种情况:

1、php5.2支持Apache2.0和Apache2.2;

2、php5.3、php5.4同时支持Apache2.2和Apache2.4;

3、php5.5只支持Apache2.4

php版本与运行库对应情况。

php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。

vc11运行库x86/x64版本:

vc10运行库x86版本:

vc10运行库x64版本:

vc9运行库x86版本:

vc9运行库x64版本:

当php和apache的版本对应正确后,将手工安装的vc运行库全部卸载了,照样可以正常启动,目前断定配置环境最重要的是php和apache的版本对应。

原文地址:https://www.cnblogs.com/vincentDr/p/4174138.html