`
elprup
  • 浏览: 116831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Windows下配置Apache2.2+PHP5+MySQL5,以及对Perl支持

    博客分类:
  • php
阅读更多
找到了一个更好的解决方法:
首先我们先解释一下这个我们原来在httpd.conf中添加的这段指令:
LoadModule php5_module "c:/php/php5apache2.dll"

其中的php5apache2.dll是apache2.0.x的模块,而不是apache2.x的模块。php目录中还有一个文件php5apache2_2.dll是apache2.2.x的模块,所以如果我们应用php时使用apache2.2作为服务器,我们应该将这个指令改为:
LoadModule php5_module "c:/php/php5apache2_2.dll"

但如果使用apache2.0.x作为服务器,这个指令则不用改动。

只需改动一下便可以使上面那个错误提示消失,而且运行稳定无问题。


1.
首先安装Apache2,完成后需要配置
httpd.conf
1)
寻找DocumentRoot "E:/Website_Field"
之后改成网页存放的根目录

2)
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "E:/Website_Field">
修改Directory同上

3)
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
修改默认的主页

2.
安装php5,解压缩php5的安装文件到C:/php5目录下,需要配置
1) 拷贝根目录下的dll文件到c:/WINDOWS/system32目录下
2) 拷贝并重命名php.ini-recommend为php.ini到c:/WINDOWS目录下
修改php.ini
a. 寻找并修改为
doc_root = E:\Website_Field
为网页存放根目录
b. 寻找并修改
extension_dir = "C:/php5/ext"
指向安装的php的ext文件夹
c. 打开一些dll选项:
如:
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll

3) 可以在“我的电脑”右键添加系统变量"c:/php5/",然后再命令行下输入
php -v
查看php安装是否成功
还可以在命令行下运行php函数
php -r phpinfo();
查看php是否正常工作


3.
让Apache2支持php5:
修改httpd.conf文件,让php5当作apache2的模块来运行,在httpd.conf的最后添加:

LoadModule php5_module "C:/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php

注意:
LoadModule php5_module "C:/php5/php5apache2_2.dll"
如果apache版本为1的话,应该为php5apache.dll
如果apache版本为2的话,应该为php5apache2.dll
由于我安装的是apache2.2,所以应该为php5apache2_2.dll
否则apache restart会失败

每修改httpd.conf或者php.ini的时候都需要重新启动apache

可以编写test.php文件
<?php phpinfo(); ?>
并在浏览器中执行,查看php是否正常工作。

4.
Apache2支持perl cgi
1) 首先下载
ActivePerl安装,工作正常后;
2)确保安装了cgi模块,perl自带的PPM进行查看
然后需要修改Apache的httpd.conf文件
a. 寻找
ScriptAlias /cgi-bin/ "E:/Website_Field/cgi"
将后面设置为cgi的目录,该目录下的pl文件可以当作cgi来运行,有相应权限;
b. 寻找
#
# "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "E:/Website_Field/cgi">
    AllowOverride all
    Options all
    Order allow,deny
    Allow from all
</Directory>
将Directory修改为同上,然后置AllowOverride和Options为all
c.
#
# Apache parses all CGI scripts for the shebang line by default.
# This comment line, the first line of the script, consists of the symbols
# pound (#) and exclamation (!) followed by the path of the program that
# can execute this specific script. For a perl script, with perl.exe in
# the C:\Program Files\Perl directory, the shebang line should be:

   #!c:/perl/bin/perl
   修改为如上
d.
     #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    AddHandler cgi-script .cgi .pl
   添加支持的后缀

3) 需要注意的是编写的cgi文件在开头需要添加
#!c:/perl/bin/perl
否则会出现500错误

可以测试,在命令行下测试自己编写的文件;然后再在浏览器里测试。

5.
下载并MySQL5,并安装,自动添加了环境变量
可以使用的MySQL工具有:
MySQL官方提供的
MySQL_GUI_Tools
另外还可以使用phpMyAdmin,修改root密码(修改libraries目录下的config.default.php文件)

注意要是Perl可以访问MySQL数据库,需要用PPM下载DBI模块以及DBD:MySQL

注意:
MySQL5对SQL语句有了更新的设置。
比如Insert语句,对插入数据的类型有严格限制。

所以可以使用如下的插入数据的方式
Insert into post(……) values(……)
分享到:
评论
Global site tag (gtag.js) - Google Analytics