仓酷云

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 888|回复: 19

[学习教程] PHP教程之win2k下Apache2+PHP4+MySql设置装备摆设

[复制链接]
海妖 该用户已被删除
发表于 2015-2-16 00:28:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我先把我自己学习PHP的过程做一下概括:apache|mysql   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做出的文件多有:

<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("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.

  左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!
乐观 该用户已被删除
发表于 2015-2-26 00:33:09 | 显示全部楼层
做为1门年轻的语言,php一直很努力。
分手快乐 该用户已被删除
发表于 2015-3-3 08:03:53 | 显示全部楼层
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
发表于 2015-3-9 12:58:31 | 显示全部楼层
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
海妖 该用户已被删除
 楼主| 发表于 2015-3-16 22:14:13 | 显示全部楼层
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
活着的死人 该用户已被删除
发表于 2015-3-23 04:23:49 | 显示全部楼层
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
爱飞 该用户已被删除
发表于 2015-4-6 00:08:45 | 显示全部楼层
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
柔情似水 该用户已被删除
发表于 2015-4-7 01:30:03 | 显示全部楼层
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
老尸 该用户已被删除
发表于 2015-4-12 10:37:37 | 显示全部楼层
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
谁可相欹 该用户已被删除
发表于 2015-4-12 22:32:29 | 显示全部楼层
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
山那边是海 该用户已被删除
发表于 2015-4-27 16:02:54 | 显示全部楼层
Ps:以上纯属原创,如有雷同,纯属巧合
小妖女 该用户已被删除
发表于 2015-5-1 15:08:20 | 显示全部楼层
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
因胸联盟 该用户已被删除
发表于 2015-5-4 09:21:26 | 显示全部楼层
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
小女巫 该用户已被删除
发表于 2015-6-6 07:08:03 | 显示全部楼层
兴趣是最好的老师,百度是最好的词典。
admin 该用户已被删除
发表于 2015-6-6 08:12:56 | 显示全部楼层
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
简单生活 该用户已被删除
发表于 2015-6-10 06:35:40 | 显示全部楼层
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
兰色精灵 该用户已被删除
发表于 2015-6-21 02:38:40 | 显示全部楼层
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
愤怒的大鸟 该用户已被删除
发表于 2015-6-28 08:26:55 | 显示全部楼层
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
透明 该用户已被删除
发表于 2015-7-4 00:33:09 | 显示全部楼层
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
金色的骷髅 该用户已被删除
发表于 2015-7-7 23:17:05 | 显示全部楼层
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

支付宝扫码领红包,注册更划算:

QQ|Archiver|手机版|仓酷云 ( 鄂ICP备14007578号 )

GMT+8, 2019-7-21 20:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表