Windows Server 2008(R2)配置apache+php+mysql环境问题事项WEB服务器 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    本篇不是Windows Server 2008(R2)配置apache+php+mysql环境的教程,而是一些问题事项,正是这些

    细节让很多人的apache+php+mysql环境跑不起来,

Windows Server 2008(R2)配置apache+php+mysql环境问题事项WEB服务器

    服务器环境:

    Windows 2008 R2 64位。apache,mysql,php都是32位。

    1. 80端口的外网访问问题

    表现:80端口本地可以访问,外网不能访问,换了8080端口也是一样,检查过也没其它程序占用这

    两个端口。

    原因分析:防火墙中没有配置80端口或者apache没有启用外网访问。

    解决办法: 防火墙的入站规则和出站规则都加上80端口。修改httpd.conf,找到 Deny from all,全部

    改成 Allow from all 。

    2. 不能执行PHP

    原因分析: apache没有加载php5模块

    解决办法: 修改httpd.conf,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,

    在其下方加入:

   

    1

    2

    LoadModule php5_module"D:/php/php5apache2_2.dll"

    PHPIniDir"D:/php"

    注意修改成下php路径。

    3. apache不能正常启动

    表现:命令行下启动apache时会报错: can not load D:/php/php5apache2_2.dll into server。

    原因分析:1.该dll不存在;2.缺少Visual C++ 2008 Runtime。

    解决办法:

    针对原因1:确认php目录下存在该dll文件。如果没有,到php 下载完整包,本人用的是

    5.3.27非线程安全的zip包,而不是msi。

    针对原因2:安装visual c++ runtime library 2008,

电脑资料

Windows Server 2008(R2)配置apache+php+mysql环境问题事项WEB服务器》(https://www.unjs.com)。注意必须是2008版本,为保险起见我在

64位的服务器上同时装了64位和32位版。

    4. index.php默认不执行

    解决办法:修改httpd.conf,找到DirectoryIndex, 在 index.html前面加上 index.php

    5. 连接不上mysql数据库

    连不上数据库原因有很多,可能数据库配置问题,用户名密码不对,防火墙端口限制等等。

    但是如果你确认数据库运行正常,用户名密码数据库名称正确,数据库端口不在防火墙规内(如果是本地数据库不

    用管这一点),这些都正常但还是连不上数据库,那么原因很可能是就是PHP中没有正确配置mysql。

    解决办法: 修改 php.ini和httpd.conf。

    1.修改httpd.conf,找到 LoadModule php5_module,在其下加一行:

   

    1

    PHPIniDir"D:/php"

    注意修改下php路径。

    2.修改 php.ini。 首先你的php目录下如果没有php.ini,只有php.ini.development和php.ini.production,

    那拷贝一份php.ini.production,并命名为 php.ini

    打开php.ini,确保 extension_dir配置正确,正确的配置如下:

   

    1

    extension_dir ="C:/php/ext"

    php目录改成自己的。注意要使用绝对路径,即全路径,使用相对路径是不行的。

    接下来把下面两行前面的分号去掉

   

    1

    2

    ;extension=php_mysql.dll

    ;extension=php_mysqli.dll

    修改之后应该是这样的

   

    1

    2

    extension=php_mysql.dll

    extension=php_mysqli.dll

    保存,重启apache。

    ​

免费领课

   

    本篇不是Windows Server 2008(R2)配置apache+php+mysql环境的教程,而是一些问题事项,正是这些

    细节让很多人的apache+php+mysql环境跑不起来,

Windows Server 2008(R2)配置apache+php+mysql环境问题事项WEB服务器

    服务器环境:

    Windows 2008 R2 64位。apache,mysql,php都是32位。

    1. 80端口的外网访问问题

    表现:80端口本地可以访问,外网不能访问,换了8080端口也是一样,检查过也没其它程序占用这

    两个端口。

    原因分析:防火墙中没有配置80端口或者apache没有启用外网访问。

    解决办法: 防火墙的入站规则和出站规则都加上80端口。修改httpd.conf,找到 Deny from all,全部

    改成 Allow from all 。

    2. 不能执行PHP

    原因分析: apache没有加载php5模块

    解决办法: 修改httpd.conf,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,

    在其下方加入:

   

    1

    2

    LoadModule php5_module"D:/php/php5apache2_2.dll"

    PHPIniDir"D:/php"

    注意修改成下php路径。

    3. apache不能正常启动

    表现:命令行下启动apache时会报错: can not load D:/php/php5apache2_2.dll into server。

    原因分析:1.该dll不存在;2.缺少Visual C++ 2008 Runtime。

    解决办法:

    针对原因1:确认php目录下存在该dll文件。如果没有,到php 下载完整包,本人用的是

    5.3.27非线程安全的zip包,而不是msi。

    针对原因2:安装visual c++ runtime library 2008,

电脑资料

Windows Server 2008(R2)配置apache+php+mysql环境问题事项WEB服务器》(https://www.unjs.com)。注意必须是2008版本,为保险起见我在

64位的服务器上同时装了64位和32位版。

    4. index.php默认不执行

    解决办法:修改httpd.conf,找到DirectoryIndex, 在 index.html前面加上 index.php

    5. 连接不上mysql数据库

    连不上数据库原因有很多,可能数据库配置问题,用户名密码不对,防火墙端口限制等等。

    但是如果你确认数据库运行正常,用户名密码数据库名称正确,数据库端口不在防火墙规内(如果是本地数据库不

    用管这一点),这些都正常但还是连不上数据库,那么原因很可能是就是PHP中没有正确配置mysql。

    解决办法: 修改 php.ini和httpd.conf。

    1.修改httpd.conf,找到 LoadModule php5_module,在其下加一行:

   

    1

    PHPIniDir"D:/php"

    注意修改下php路径。

    2.修改 php.ini。 首先你的php目录下如果没有php.ini,只有php.ini.development和php.ini.production,

    那拷贝一份php.ini.production,并命名为 php.ini

    打开php.ini,确保 extension_dir配置正确,正确的配置如下:

   

    1

    extension_dir ="C:/php/ext"

    php目录改成自己的。注意要使用绝对路径,即全路径,使用相对路径是不行的。

    接下来把下面两行前面的分号去掉

   

    1

    2

    ;extension=php_mysql.dll

    ;extension=php_mysqli.dll

    修改之后应该是这样的

   

    1

    2

    extension=php_mysql.dll

    extension=php_mysqli.dll

    保存,重启apache。

    ​