网络通信 频道

网管经验:PHP安装调试经典故障四则

  【IT168 专稿】PHP动态页面语言以安全性和执行高效性著称,他已经逐步取代了asp成为国内动态网页的主力军,很多知名的论坛程序都是使用PHP语言开发的,这里头包括了VBB,Discuz!,PHPWIND等等。然而众所周知PHP页面虽然有种种优点,但是他的工作环境要求确是非常高的,由于PHP站点一般需要和用户产生互动所以PHP站点往往和MYSQL数据库结合使用的,然而笔者在搭建过程中发现PHP安装调试经常会出现几个烦琐问题,这些问题在网上也没有太好的解决方案,很多文章都是人云亦云互相摘抄,为了从根本上解决网络管理员在搭建PHP环境时的困扰,笔者今天就为各位介绍真正解决问题的办法。

  一,PHP与apache冲突的解决办法:

  笔者在使用最新版PHP 5.2.5以及最新版APACHE页面发布工具2.2.4时发现在安装PHP时出现了错误提示——“ERROR trying access httpd.conf file.you will need to manually configure the web”。(如图1)

  点确定后安装直到完成,然而在完成全部安装工作后运行PHP页面却出现了错误提示,无法正确解析。经过笔者最后调试发现原来默认情况下apache 2.2.4会选择缺省路径为c:\program files\apache software foundation\apache2.2,而在PHP程序安装时要求我们指定的Apache的安装路径实际上并不起作用,PHP 5.2.5会依然建立与c:\program files\apache group\apache2路径的关联度,所以这也是造成安装完毕后无法顺利执行PHP页面解析工作的原因。笔者发现解决办法就是照顾PHP的“脾气”,将apache安装目录修改为符合PHP的规则即c:\program files\apache group\apache2\。(如图2)

  接下来我们再次安装PHP 5.2.5程序选择Apache安装目录为c:\program files\apache group\apache2\并继续即可。(如图3)

  通过路径修改操作后我们就可以顺利的完成PHP与Apache的安装与配置工作,PHP页面也可以顺利的解析了。

  二,PHP页面访问呈现代码故障解决办法:

  笔者还遇到过调试PHP页面和环境正常后安装PHP论坛或其他CMS系统时却出现PHP代码显示的错误,说白了就是整个页面没有显示PHP解析后的页面而显示的是一段段代码。(如图4)

  实际上这种故障是因为没有在服务器上安装ZEND程序的缘故,ZEND程序的功能是为PHP页面进行加密和保护,由于很多PHP程序平台为了保护自己的代码防止泄露都采用了ZEND进行加密操作,这样在实际使用过程中必须通过ZEND执行一次解密还原才能够顺利呈现PHP程序的本色,因此我们在服务器上安装最新版ZEND程序执行解密加密工作即可解决实际问题。(如图5)

  三,PHPmyadmin数据库扩展经典故障:

  提起管理MYSQL和PHP站点有过经验的读者都会首推phpmyadmin,他是目前最好的除了MYSQL与PHP搭配的工具,他自身就是由PHP页面代码组成的而且通过他管理MYSQL数据库更加方便,我们可以不再记忆那些烦琐的数据库查询与建立指令直接通过鼠标完成数据库各个字段的建立,增加以及删除管理工作。phpmyadmin的使用方法也很简单我们直接下载主程序解压缩并将所有目录复制到服务器网站发布目录下即可。(如图6)

  phpMyAdmin V2.11.5.1 Final 多国语言版
  软件大小: 4393 KB
  软件语言: 英文
  软件类别: 免费软件
  应用平台: Win9x/NT/2000/XP/2003
  下载地址:
http://cnc.skycn.com/soft/17470.html

  不过很多读者都遇到了在用phpmyadmin管理站点时访问出错的问题,具体体现为页面显示“PHPmyadmin错误,无法载入Mysql扩展,请检查PHP配置”。(如图7)

  笔者在网上也搜索和查询了该故障对应的解决方法,然而没有一个真正奏效的,经过笔者的再三研究终于发现了问题根源,下面就将全部解决设置操作罗列出来提供给各位IT168网络频道的读者参考。

  第一步:修改php.ini文件,原始版php.ini在PHP安装程序中,名为php.ini-dist,复制一份放到C:\WINNT(Windows XP/2003下为 C:\Windows),改名为php.ini。

  第二步:用记事本打开php.ini,利用记事本的查找功能搜索 extension_dir = "./",并将其路径指到你的PHP目录下的extensions 目录,比如笔者将PHP安装在c:\php中,那么把此句修改为extension_dir = "C:\PHP\ext"。(如图8)

  第三步:再搜索register_globals = Off,将Off改成On。(如图9)

  第四步:再查找;extension=php_mysql.dll,将前面的引号“;”去掉,让该句生效。(如图10)

  第五步:保存修改后退出,然后把php目录下的libmysql.dll文件复制到系统目录的system32下。

  第六步:所有操作完成后重新启动apache,mysql等服务,如果你不会的话直接重新启动计算机即可。

  第七步:我们再次通过IE浏览器输入http://127.0.0.1/phpmyadmin/就会看到图形化的phpmyadmin管理界面。

  经过笔者反复测试,发现这个问题主要发生在PHP环境使用的是新版PHP5.0,老版PHP程序不会出现这个问题。当然笔者介绍的这个方法是建立在我们已经把Apache配置为支持PHP语言的基础上,如果你不知道怎么配置的话可以参考以前的文章。

  四,PHPmyadmin登录故障解决办法:

  当然通过了“无法载入Mysql扩展,请检查PHP配置”故障这关后我们访问phpmyadmin还可能会遇到“配置文件现在需要绝密的短语密码blowfish_secret的错误提示。故障原因是blowfish_secret用一个任意字符串作为cookie的加密字符串,如果没有加密钥匙,系统会显示配置文件现在需要绝密的短语密码(blowfish_secret),这个问题也可以按照笔者如下步骤解决。(如图11)

  第一步:进入到phpmyadmin的安装目录查找一个名为config.inc.php的文件,如果没有就查找另外一个config.sample.inc.php的文件,这个文件是配置文件备份,我们将后者保存成config.inc.php并编辑其内容。

  第二步:用记事本打开config.inc.php文件,查找里面的$cfg['Servers'][$i]['auth_type']以及$cfg['blowfish_secret']将其后的数值修改为$cfg['Servers'][$i]['auth_type'] = 'cookie';$cfg['blowfish_secret'] = 'php'后保存退出即可。(如图12)

  第三步:我们再次访问phpmyadmin管理地址后就可以顺利进入了,进入后可以随意的对MYSQL数据库进行管理操作。(如图13)

  小提示:

  如果还是无法登录的话可以检查mysql设置的编码最好用utf-8编码。


  五,总结:

  总之在我们建立站点特别是动态站点需要数据库支持的情况下很多问题都需要自己去尝试,与网络故障问题不同的是大多数故障在各个服务器上出现的提示不同,我们不能够很顺利的通过网络搜索从网上找寻答案,只有靠自己摸索与分析其他用户的解决办法才能够保证该环境的正常工作。

0
相关文章