找到了一个更好的解决方法:
首先我们先解释一下这个我们原来在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(……)
分享到:
评论