热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->php 
站内搜索:
win2k下Apache2+PHP4+MySql配置(2)
作者:shg918 来源:www.webasp.net 整理日期:2006-6-21



使之支持中文

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

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
其实这样往往导致文件中中文成乱码!!因为: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程序
<?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分钟吧)就蒙了:有一个程序
<?php

$db_conn=mysql_connect("localhost","abc","xyz") or die("Cant 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),例如cant 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.
[1]  [2]  
相关文章