热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

win2k下Apache2+PHP4+MySql配置

win2k下Apache2+PHP4+MySql配置加入日期:2004年03月14日07:40:03AM作者:shg918(原作)中国软件本文声明:1、凡说明之行号多为近似值,在该行找不到则在上下就近即可以找到。2、本文写作时,参考了狠多资料来自于中文PHPhttp://www.21php.com大本营www.csdn
EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

win2k下Apache2 + PHP4 + MySql配置
时间:2006-02-27 00:00 来源:网管之家bitsCN.com 字体:[ ] 评论:
标签:Apache
win2k下Apache2+PHP4+MySql配置

加入日期:2004年03月14日 07:40:03 AM 作者:shg918(原作) 中国软件
本文声明:
1、凡说明之行号多为近似值,在该行找不到则在上下就近即可以找到。
2、本文写作时,参考了狠多资料来自于中文PHPhttp://www.21php.com 大本营www.csdn.net的资料以及[旖旎导软硬]http://ddj88.myrice.com的资料,在此对三网站网友表示感谢。
3、电子版转载自由。

正文:
网上配置php资料多艾!近泛滥~~~今作一个简要介绍版本,适用于PHP4.2.X APAche2 Mysql4.0.X以上。

调试软硬件环境:
硬件:CR2.2 +256M +845GL

软件:win2000 pro +sp4+ N多补丁+Apache2.0.47 +PHP4.3.3 +Mysql4.0.16+phpmyadmin2.5.4

均下载于www.newhua.com


1、安装php:将下载的php压缩文件解压,文件夹改名为php复制到c盘根目录下。


2、 打开刚才解压的PHP目录,你会发现有一个叫做"php.ini-dist"的文件,这就是PHP的配置文件了,你需要把它改名成"php.ini",然后复制到系统目录winnt下。

3、 PHP安装目录下的"php4ts.dll"必须要复制到windows系统的system32目录下

4、dlls和extensions目录里的所有文件拷到system32 里

修改php.ini其中有必要注意的是
270行error_reporting = E_ALL & ~E_NOTICE
277行display_errors = On
另:365行register_globals 默认 Off,改成on的意思是打开全局变量,以后编程方便。
; cgi.force_redirect = 1改成 cgi.force_redirect = 0这样做是强迫不运行在cgi模式下


Apache2安装
首先停止你的iis或pws服务。
1 运行你下载的Apache2安装文件,安装Apache,安装过程中会提示你输入主机名,管理员信箱等信箱,这些信息在你安装完以后是可以修改的,所以可以放心的输入。
(*为了以后操作方便起见,强烈建议将此处的安装路径用"Change"改变到"X:"下(注X为你的硬盘盘符)或者符合8.3文件名格式的其他名称,以后每次输入Apache安装路径时,都不必为其添加引号。系统安装成功后将自动在此建立一个名为"Apache2"的目录,也就是说,安装之后的实际Apache系统文件所在路径将为"X:Apache2"目录。*)

安装完后,在apache2confhttpd.conf 下查找ServerAdmin,即可修改管理员信箱,(199行附近);213行则是ServerName 我改为localhost
以后我都是把程序放在了apache2的htdocs下的子目录zimulu,用http://localhost:81/zimulu/xxx.php 测试。

2 编辑apache2/conf/httpd.conf

120行Listen 80改为81端口,这是因为当你的win2k重起后,iis将会重占80端口,为避免冲突,所以apache使用81端口。
下面的134-170行左右为加载模块的部分。在这部分下面的加上两句:
LoadModule php4_module c:/php/sapi/php4apache2.dll
//注释:如果你的php目录不是C:/php,请按实际来写。
AddType application/x-httpd-php .php .php3 .php4
(这一句有人说也可以加到768行左右的AddType application/x-tar .tgz之后,不过我有一次这么作了以后没弄成)意思是:加载php4模块, 其中第2句如果仅仅是AddType application/x-httpd-php .php则只能解析php扩展名的文件,php3扩展名的程序解析不了。

注意:我们一般是模块化运行php,所以仅仅这样即可,有的文章说如此添加:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
或者
LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php4
ScriptAlias /php4/ "c:/php/"
Action application/x-httpd-php4 "/php4/php.exe"
AddType application/x-httpd-php4 .php
其实是以cgi方式运行php,没有那个必要。


找到DirectoryIndex * 这行,可以这样修改,添加默认的文件名:
DirectoryIndex index.php default.php index.htm index.html default.htm default.html
否则不能自动识别index.php。


使之支持中文

最好的解决办法是:修改了Apache中conf/httpd.conf文件,查找 AddDefaultCharset ISO-8859-1
并且改成
#AddDefaultCharset ISO-8859-1
AddDefaultCharset GB2312
注意使用dreamweaver做出的文件多有:


其实这样往往导致文件中中文成乱码!!因为:http.conf中355行 DefaultType text/plain而不是text/html,所以手动修改成text/plain即显示中文。

3 开始---运行----cmd
c:Apache2/bin>
输入apache -k install
输入apache -k start
4 访问http://localhost:81显示APACHE欢迎页 (恭喜,Apache2安装成功)
写一最简单的php程序
phpinfo();
?>
,命名为info.php存入apache2/htdocs下,然后地址栏内敲入http://localhost:81/info.php应该显示php和apache2的相关信息了,这样终于就可以开始php学习之旅(乐)。
(什么您不愿意把程序放在apache2/htdocs下,那么回到httpd.conf找DocumentRoot "x:/Apache/htdocs"把x:/Apache/htdocs改成你喜欢的目录名就是了。)

仅仅是php 还是不够的,很多大一点的程序都用得到数据库,于是我们开始了:

mysql的安装

象大多资料所讲述的那样,Mysql轻而易举的就安装成功的,安装简单,但是调试难。mysql安装成功后,进入mysql/bin双击winmysqladmin,第一次运行需要输入用户名密码,比如我的虚拟空间的数据库用户名abc,密码是xyz;于是我就输入了abc xyz;为了是以后本地作好的程序可以直接ftp 。然而~~~~黄粱美梦~~~~~名副其实的黄粱美梦,不到5分钟(煮熟米饭好象要10分钟吧)我就蒙了:我有一个程序

$db_cOnn=mysql_connect("localhost","abc","xyz") or die("Can't connect!!");

?>



在虚拟空间运行的好好的,到本地就是连接不上数据库!!把phpmyadmin2.5.4改个名成p254,进里面把config.inc打开,修改第80、81行
$cfg['Servers'][$i]['user'] = 'abc';
$cfg['Servers'][$i]['password'] = 'xyz';
第83行的$cfg['Servers'][$i]['only_db'] = ';如果键入数据库名dbone,则phpmyadmin内只能看到这一个dbone数据库了,其余的都看不到。
地址栏里键入http://localhost:81/p254(最好关了防火墙,即使你用的是公安部评分95分的那个)然而出现在我眼帘的是:
phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝连接。您应该检查 config.inc.php 中的主机、用户名和密码,并且确定这些信息与MySQL 服务器的管理员所给出的信息一致。

而我把confgi.inc的内容改回去也就是用
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = ';
则可以连接成功!!

面对这种情况,我参考上次安装mysql3.23.55的经验,进了winnt里找my.ini,修改最下面2行
user=abc
password=xyz

还是不行,于是开始胡思乱想,好一通修改:php.ini里有关于mysql的项目,改,不好用;config.inc下面还有$i = 1时的
$cfg['Servers'][$i]['user']
$cfg['Servers'][$i]['password']
也改了,(其实那是用于多个mysql运行的时候管理用的,单机上只跑一个mysql根本就用不着改)。晕~~~~上了一通csdn,被告之删了my.ini,重起后自动重新生成my.ini,比样照作~~~~双击winmysqladmin,果然又是让输入username和password。然而重新输入的,还是不起作用!!于是脑袋一热耍起小聪明 来,重新改写config.inc用root和空密码进入phpmyadmin,进mysql数据库的user表,直接插如一个uk15f1的用户名密码就是o1s3f2g7,结果~~~~竟然决然居然还是不好用!!!(注意:这个毛病在用mysql 3.x时没有犯过,可能是mysql4.x的bug)最后的解决是使用命令行c:mysql/bin/mysql -h localhost -u root -p回车,提示输入密码,敲回车表示空密码,在mysql提示符下set password for abc@"localhost"=password('xyz');

重启系统,OK.

常见的问题


A: 为何新版PHP提示Notice的警告?

例如 Notice: Use of undefined constant HTTP_HOST - assumed 'HTTP_HOST' in d:inetpubwwwroot22schoolsyinfo.php on line 19

Q:

产生问题的原因是使用了没有定义或者初始化的变量和数组,例如你用$_POST[test],但是你没有提交过name=test的表单,就会碰到Notice的错误,因为$_POST没有键值为test对应的值,也就是说程序调用了一个没有定义的数组索引。一般来说,是在程序不够严谨的时候才会出现这样类型的问题,但是不影响程序的运行。可以在程序中加入程序 error_reporting(0); 关闭该提示,或者设置php.ini中error display 一节;也可以预先初始化出错的变量。


Q: Apache启动时,为何不能加载php4apache.dll?

在Windows系统刚安装完成Apache+PHP的系统,整合PHP后,在启动Apache的时候提示:系统提示加载不了php4apache.dll(或者php4apache2.dll),例如can't load of c:myphpphpsaipphp4apache.dll

A: 这是Apache没有找到php4ts.dll文件的缘故
把php4ts.dll文件拷贝到系统目录下(例如c:winntsystem32)或者Apache下面的bin目录中,然后重新启动Apache,即可解决

后记:
PHP 4.1.0 的 php.ini 的全文翻译
http://www.21php.com/forums/showthread.php?s=&threadid=1717


高级配置
magic_quotes_gpc = Off [Performance] 改成0

session.save_handler = files

Warning: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....

session路径没有配置

在apache所在分区根目录下建立一个tmp的文件夹,OK.


推荐阅读
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]

author-avatar
宋文哲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有