找回密码
 立即注册
大科技语录:
查看: 4811|回复: 8

你也可以做管理员系列

[复制链接]
发表于 2009-7-15 18:38 | 显示全部楼层 |阅读模式
这是一整个系列,都是我编的,每天写点每天写点,现在抽点出来给大家看,还有好几篇没有弄,因为不是按照从安装到管理的顺序写,后面的就暂时不发了.


讲授原则:
一字千金,点到即止,活学活用,重在实践。

先来个约定俗成的协议:
浏览PHP文件和打开PHP文件
强烈建议大家使用强大的MadEdit或Notepad2文本编辑器,Notepad就是我们常用的txt文本文档,而经过中原的介绍,我也用上了MadEdit,这东西比Notepad2更加强大。
这两个东东的作用主要是针对程序员的使用习惯,可以用不同颜色把各种代码高亮出来,方便程序员处理,还有显示行数,统计字数等等等...功能。
再给几个更好的PHP编辑器:
PHP代码开发工具Zend Studio,PHP Edit,文本编辑器UltraEdit,EditPlus


接着说浏览和打开的区别
浏览PHP文件说的是用浏览器浏览PHP文件,如在浏览器输入:
http://www.dkj1997.com/index.php,这时你看到的是大科技论坛首页。自然你是不能修改这个文件,你看到的是PHP文件在服务器程序上运行的效果。如果你是在本地测试,不要忘了启动本地服务器(如IIS和Apache),自然还要安装PHP,SQL啦。
这样才能够“浏览”PHP文件

而我说的打开,其实是用文本文档编辑,也就是用文本文档,Notepad2,MadEdit等工具打开。这时你看到的是一大段代码。文本文档是很强大的,JAVA,CSS,HTML,PHP,C,VB等等语言都可以用文本文档编辑,编辑完毕把TXT扩展名改成相应的程序扩展名就OK了。它不像其他设计工具那样,只能打开某些类型的文件,所以说,TXT是最强大的编程工具一点也不过分。



个人建议大家可以一边做(研究)DZ论坛一边用PHPMyadmin来查看数据库文件,看看到底它们是如何运作的。

英文术语名词积累:
CGI:Common Getway Interface 公共网关接口
-----------------------------
 楼主| 发表于 2009-7-18 12:08 | 显示全部楼层
论坛与数据库的用户名,密码连接:
记得在安装论坛的时候要求你输入数据库名称,密码吗?如果你在本地计算机上安装测试,把用户名username更改成root,密码留空就行了,为什么呢?
因为在你安装PHPmyadmin,MYSQL的时候就配置了用户名为root,密码留空的设置。如何更改呢?先不告诉你答案,不妨试一下打开phpmyadmin(http://localhost/phpmyadmin/),在权限里面把所有用户都设置密码,把“任意访问IP”设置成本地主机,然后重新开启PHPMYADMIN,这时你会发现出现如下错误:

phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝连接。您应该检查 config.inc.php 中的主机、用户名和密码,并且确定这些信息与 MySQL 服务器的管理员所给出的信息一致。
错误
MySQL 返回:文档
#1045 - Access denied for user 'root'@'localhost' (using password: NO)

这时不妨也打开论坛,也会出现错误:
Discuz! info: Can not connect to MySQL server

Time: 2009-7-13 3:37am
Script: /6.0/forumdisplay.php

Error: Access denied for user 'root'@'localhost' (using password: NO)
Errno.: 1045

明显就是改了密码的问题,到phpadmin目录下的config.inc.php里修改吧,查找“password”,到
$cfg['Servers'][$i]['password'] ='';   // MySQL password (only needed

中间插入新密码,别告诉我你不知道在哪里插入(汗,在='';中间),然后保存文件(建议新手先备份一下)。刷新phpadmin页面,现在不是可以登陆了吗?
还有论坛呢,现在刷新应该会多了一条语句:
Similar error report has beed dispatched to administrator before.

接着到论坛目录下的config.inc.php里吧密码也修改一下吧,记得保存:
$dbpw = '123456';                                // 数据库密码

好了,问题解决了,同样建议你到论坛的forumdata目录下的dberror看看,这东西记录了数据库错误的号码。
其实弄明白论坛和数据库是如何联系起来其他的事情就容易办多了,这是基础要求,要知道我第一次安装DZ论坛的时候就一直在数据库用户名,密码上卡死了,那时熬夜安装的,白白熬了我两个小时,才知道用户名是root,像我这样的大头虾怎么会注意到安装WAMP时候的用户名和密码呢?
回复

使用道具 举报

 楼主| 发表于 2009-7-18 12:08 | 显示全部楼层
-----------------------------
空间与数据库(文件与数据)的概念:
有时候可能你会搞不清楚,论坛的备份数据文件存放在哪里。其实你对文件与数据混淆了。先来说一下空间,服务器空间是WEB服务器提供商为你提供的使用空间(前提是你支付人民币或是免费的),使用空间可以存放论坛文件,用户上传的附件,网页文件,音频视频文件等等,这些都是可以看得见的。而数据是存放在数据库里的,而管理数据库是需要数据库管理软件(如PHPMyadmin)管理的,假如你需要修改数据的话,并非要修改某一个文件,在数据库管理软件里改就行了,千万别像我当初入门的时候在苦苦寻找DZ的数据文件到底存放在哪个位置那样。(不过试试也无妨,菜鸟增加认识嘛)呃,补充一句,别以为用FTP把论坛的所有文件都复制到你本地机器上备份工作就完事了,重申一下,那只是防止遭到黑客修改网页文件的备份做法,并不等于把论坛帖子备份了。你还要到论坛后台用后台的备份工具备份数据库。
-----------------------------
服务器环境的搭建:

架构一个服务器是需要一定的环境才能实现的,并不是你随便开着电脑,共享几个文件外界就能访问你的资源。远程协助,局域网共享文件和黑客的除外。
要想安装论坛,要想别人能够合法地访问到你的资源,你就需要搭建一个环境,你的电脑才能够成为服务器,而连接你电脑的网友就成为客户,他们的电脑成为客户端。要想24小时你的论坛都能得到访问的话,你的电脑(服务器)就必须24小时开着,当然,这个工作是由服务器提供商做的。而我们仍然可以再本地机器上(也就是你的电脑上)可以不通过网络连接就能够搭建这样的一个环境,从而让PHP程序运行起来。

目前最为流行的搭配方式是wamp:Window+Apache+Mysql+Php.
Apache是一个服务器,Mysql是数据库管理器,Php是一种语言,安装了就能够运行PHP文件。这4个东西最大的特色是免费,开源(window除外,但根据我国国情来看似乎跟免费没有什么差别)。

安装程序下载(官方网站):
www.apache.org
www.mysql.com
www.php.net
具体的安装就不详细介绍了,英文再烂也不会烂到连download也不知道是什么意思吧。目前发现apache官方的下载地址有一个有点问题,国内外也有很多镜像网站提供免费下载,不过我建议大家还是到官网里下,谁知道那些镜像网站会不会为了压缩文件而删去了部分功能,除非是主流的大型网站。

这里提示一下:
一般官网有几种版本的:
.msi是很傻瓜式的安装,直接运行安装程序就行了。
.rar .zip是源代码,需要不停地修改里面的代码才能安装。当初我可苦了,下了个ZIP文件,解压后根本没有一个安装程序,上网搜索得知原来是源代码,要改很多文字的,这个就无必要用了。
还有网上有一种超级傻瓜的安装,叫wamp,它可以一下子把apache,php,mysql都安装了,想学真功夫就不要迷恋这东西,有些安装设置不怎么科学,到头来还是要你修改某某代码。不过你只是想玩玩安装论坛的话还是可以的。
回复

使用道具 举报

 楼主| 发表于 2009-7-18 12:09 | 显示全部楼层
网站搭建之文件下载选择

面对PHP,MYSQL,APACHE官网里的各种版本,你是否又能够选择一款适合你的呢?
首先你要明确,你要的版本是否和你的电脑系统相适应,一般主流的无非是window xp/2000/vista和linux/unix之分,下载的时候一定要分清楚:

如PHP的下载界面的英文说明:
Which version do I choose?
If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP

If you are using PHP with IIS you should use the VC9 versions of PHP

意思是说如果你安装的是APACHE的就使用VC6版本,如果你安装的是IIS那就使用VC9的版本。
php-5.3.0-nts-Win32-VC6-x86
php-5.3.0-nts-Win32-VC9-x86

.msi与源代码版本:
php-5.2.6-win32-installer 带有installer单词的是安装程序,直接安装就行了,基本配置不多。
php-5.3.0.tar 这个是压缩文件,解压出来的是源代码,需要修改很多代码,还要手动移动文件到系统文件里才能完成安装,很麻烦的,建议不使用。

.gz、.tar.gz、tgz、bz2、.Z、.tar文件(常见压缩文件说明):
linux下的压缩格式有.gz、.tar.gz、tgz、bz2、.Z、.tar等
 ZIP,是一个计算机文件的压缩的算法,目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式较ZIP格式压缩率较高,而7-Zip由于提供了免费的压缩工具而逐渐在更多的领域得到应用。

RAR的压缩率比ZIP要大很多.所以现在网上大多数的压缩文件是用RAR格式的.
ZIP,一个强大并且易用的压缩格式, 支持 ZIP、CAB、TAR、GZIP、MIME, 以及更多格式的压缩文件. 其特点是紧密地与 Windows 资源管理器拖放集成, 不用留开资源管理器而进行压缩 / 解压缩. 包括 WinZip 向导 和 WinZip 自解压缩器个人版本.
  区别一、zip的安装比较大,并仅仅有英文版+汉化包
  rar有官方的简体中文版,并且安装很小,不足一兆
  区别二、zip的压缩速度比rar要快4倍以上,而压缩率仅差1%
  区别三、国外很多都采用zip,因为它是免费的,rar不是免费的,在国内很流行是由于有盗版的存在;

7z 是一种新的压缩格式,它拥有目前较高的压缩比。
  支持格式:
  压缩及解压缩:7z、ZIP、GZIP、BZIP2 和 TAR
  仅解压缩:RAR、CAB、ISO、ARJ、LZH、CHM、WIM、Z、CPIO、RPM、DEB 和 NSIS
  对于 ZIP 及 GZIP 格式,7-Zip 能提供比使用 PKZip 及 WinZip 高 2-10% 的压缩比

这几种压缩文件可以在PHPMyadmin官网(www.phpmyadmin.com)下载网页里见到.

记住,我们主流的XP是用win32,x86版本,记住就是了,如“php-5.3.0-nts-Win32-VC6-x86”
回复

使用道具 举报

 楼主| 发表于 2009-7-18 12:09 | 显示全部楼层
关于安装过程中出现的问题:

只要APACHE,PHP,MYSQL都使用msi安装包的话,估计是没有什么问题的,但总是多多少少就会出现过问题:
比如我曾经遇到过在安装PHP过程中弹出的对话框:
"Error trying access the local web service: GetObject Failed. You will need to manually configure the web server."(希望这句话可以被百度搜到,让更多的朋友得到解决办法)

另一个问题好像是什么httpd conf 配置问题,其实这两个问题都是一样的,都是在安装PHP过程中出现。

现在你只需要把已经安装好的APACHE,MYSQL都卸载了,PHP出现问题肯定不是完全安装,所以也要卸载,要通过控制面板的安装/卸载程序来卸载,这样会好一点。卸载完毕后还要删除个别还没有删除的文件,不同重启,只需重新安装APACHE,然后再打开PHP安装程序,安装文件的版本要选择对的,我的是PHP 5.3.0-nts-Win32-VC6-x86 安装路径可以改(貌似安装MYSQL就不能改了),域名,管理员邮箱这些随便填好了,建议本地域名设置为localhost,那个网关CGI选择other cgi,如果是PHP 5.2.6及以下的版本就要有针对性地选择你的apache版本,2.0就选2.0,2.2就选2.2,接着来到"choose items to install",记得点击一下左下角的Reset后再继续,之所以之前出现问题是你选择了Extensions和Extras这两个的扩展功能,没有必要(这么贪心。),这里你选择默认的就OK。接着的过程应该就很顺利了,问题解决。

强烈推荐大家百度+GOOGLE结合来解决问题,在百度是基本上找不到这个问题的答案,我是GOOGLE到国外网站里“钻研”了一下人家的西洋文后才找到答案的
(By using the default installation settings, the problem will not occur.)

继续补充:
现在发现,前面的方法其实是有点问题的,在安装过程中 Script Executable和Extras是都可以使用的,只要保持php是灰色(左键PHP左边的图标,选择will be installed on local hard drive),不要选择Entire feature will be installed on local hard drive 问题一样可以解决,而且这样还可以执行下面的CGI安装
同时也要记住,这样当你运行PHP.EXE时会弹出

没有找到OCI.dll,因此这个应用程序未能启动,重新安装应用程序可能会修复此问题。
没有找到libcs.dll,因此这个应用程序未能启动,重新安装应用程序可能会修复此问题。

解决办法是重新执行安装程序,选择change,把多余的功能除去,具体除去哪些我也不清除,我是把Oracle相关的模块都删去了,还要一个叫sybase,共有4个,就无事,这不是错误,不用担心PHP有什么问题,是扩展功能找不到模块。
回复

使用道具 举报

 楼主| 发表于 2009-7-18 12:10 | 显示全部楼层
(重要!!!)安装过程的补充:

这个时候应该把APACHE,MYSQL和PHP都装上了吧,打开APACHE,在浏览器里输入:localhost或127.0.0.1,可以看到APACHE运行成功的页面:It works!

但这并不代表PHP就能够运行,要经过配置才能起作用,在PHP文件夹下找到PHP.INI配置文件,用记事本打开,查找:extension=php_gd2.dll,extension=php_mysql.dll,extension=php_mbstring.dll,将这三项钱的;去掉,使PHP能够支持处理图像,MYSQL函数和宽字符。

如果你要使PHP支持以<?开头的PHP代码开始的标记,需要查找short_open_tag参数,将其值设置为On(接着以下安装DISCUZ论坛就需要改为ON)

还有几个常用设置:
file_uploads:是否允许文件上传
upload_tmp_dir:上传文件的暂存路径
upload_max_filesize:上传文件的最大字节数
register_globals:是否允许PHP自动将外部提交的数据注册为全局变量,如果设置为ON,则方便多了,不用处理一些语句,如果为OFF,则安全性好一点,由于是本地配置,建议设置为ON
注意,如果设置为ON的话此时打开PHP会出现:
PHP Warning: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown on line 0
目前不发现有什么问题,警告而已,如果不想出现这个警告的话加上;吧。
回复

使用道具 举报

 楼主| 发表于 2009-7-18 12:10 | 显示全部楼层
(超级重要!)PHP,APACHE的关联建立:

经过我多次的研究和翻阅了多本PHP书籍,终于发现PHP的
APACHE和PHP尽管已经安装好,此时还不能够解释PHP网页,还要将APACHE与PHP建立关联

安装是有两种方式的:
CGI和Apache模块

以下是apache模块的安装方式,要知道你的版本是不是apache模块安装,到PHP文件夹里看看有没有php5apache2_2.dll吧,有就是,如果见到php-cgi.exe则是CGI安装,如果连php-cgi.exe安装也没有,那请先看看上面的“关于安装过程中出现的问题”

1,APACHE模块的安装方法:
打开APACHE配置文件httpd.conf,默认是在apache的conf文件夹里

查找:LoadModule foo_Module modules/mod_foo.so
在下一行里输入:
LoadModule php5_module c:/php5/php5apache2_2.dll

查找:AddType application/x-gzip .gz .tgz
在下一行里输入:
AddType application/x-httpd-php .php (记得两个php之间是有空格加一个点)

查找:DirectoryIndex index.html index.html.var
修改成:DirectoryIndex index.html index.html.var index.php
注:不同APACHE版本的设置也可能不同,我这个APACHE2.2里默认是DirectoryIndex index.html,如果你查找上面的语句找不到的话,记得删去后面的部分慢慢找。

2,CGI的安装方法:
在apache/conf里的httpd.conf配置文件里加入下面几行代码:

(1)在ScriptAlias /cgi-bin/ "C:/Apache2.2/cgi-bin/"下面加上:
ScriptAlias /php/ "c:/php"

(2)在AddType application/x-gzip .gz .tgz下面加上
AddType application/x-httpd-php .php

(3)
Action application/x-httpd-php "/php/php-cgi.exe"
这个我还不知道加在什么位置,书本无写

吐一下苦水:
按照我自己买的PHP书籍说的方法,是Apache模块安装(这书本根本没有说这是模块安装方式,导致我误以为这是唯一的方法),对于我自己的php-5.3.0-nts-win32-vc6-x86.msi来说是很不适合的,我找了半天在PHP文件夹里也找不到php5apache2_2.dll文件,那何来输入
LoadModule php5_module c:/php5/php5apache2_2.dll
呢?
这个根本不可能的事,先是看了半天PHP,APACHE的install文件,全英文,西洋文,词霸倒是用的不多,就把里面install的内容啃了下来,无果,不爽,于是翻阅图书馆里的其他相关书籍,终于找到了CGI安装方法。

尽信书不如无书就是这个道理,我这次真是深刻的体会。
回复

使用道具 举报

 楼主| 发表于 2009-7-18 12:10 | 显示全部楼层
安装PHP后网站拒绝显示此网页(未解决)

是拒绝显示PHP文件,唉,刚解决了安装问题新问题又来了。
此网站要求您登录。
此错误(HTTP 403 禁止)表示此程序可以连接到该网站,但是没有查看该网页的权限。
Action application/x-httpd-php "c:/php/php-cgi.exe"
    Options Indexes FollowSymLinks
    AllowOverride All

-----------------------------
The requested operation has failed!
到APACHE配置文件httpd.conf里查看,你添加了哪些代码?比如明明是CGI安装方式而你又用了APACHE模块来安装,乱加了其他错误的代码进去就会出现这种情况,建议还原重装。
回复

使用道具 举报

发表于 2010-11-5 12:50 | 显示全部楼层
"Error trying access the local web service: GetObject Failed. You will need to manually configure the web server."(希望这句话可以被百度搜到,让更多的朋友得到解决办法)

注册!登录!目的只有一个!
这个问题找的我眼珠子都绿了!

感谢楼主!
功德无量!仙福永享!寿与天齐!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|大科技

GMT+8.8, 2024-12-22 21:47 , Processed in 0.417899 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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