﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-衣带渐宽终不悔-随笔分类-PHP</title><link>http://www.cppblog.com/zhenglinbo/category/18761.html</link><description>脚踏实地，自强不息。</description><language>zh-cn</language><lastBuildDate>Sat, 21 Apr 2012 10:58:43 GMT</lastBuildDate><pubDate>Sat, 21 Apr 2012 10:58:43 GMT</pubDate><ttl>60</ttl><item><title>Function ereg() is deprecated Error 错误对策  </title><link>http://www.cppblog.com/zhenglinbo/archive/2012/04/15/171473.html</link><dc:creator>zhenglinbo880531</dc:creator><author>zhenglinbo880531</author><pubDate>Sun, 15 Apr 2012 07:18:00 GMT</pubDate><guid>http://www.cppblog.com/zhenglinbo/archive/2012/04/15/171473.html</guid><wfw:comment>http://www.cppblog.com/zhenglinbo/comments/171473.html</wfw:comment><comments>http://www.cppblog.com/zhenglinbo/archive/2012/04/15/171473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhenglinbo/comments/commentRss/171473.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhenglinbo/services/trackbacks/171473.html</trackback:ping><description><![CDATA[<div>  <div>  <div>  <h1><br /></h1></div>  <div>  <p>在php5.3.0后的版本，取消了对ereg函数的支持，惹得若干程序需要改动，譬如我安装的zen-card1.3.8，颇不方便。</p>  <p>错误：<br /><strong>Deprecated</strong>: Function ereg() is deprecated in &#8230;&#8230;</p>  <p>解决方法一：<br />退回去用php5.2。（众人皆赞道：果是好法子！）</p>  <p>解决方法二：<br />继续用php5.3，但是修改devel/devel.modul的460行：<br />if ($errno &amp; (E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED)) {<br />把丫deprecated错误给忽略掉。（众人皆又赞道：果&#8230;&#8230;果&#8230;&#8230;果是好法子！）</p>  <p>解决方法三：<br />动程序鸟，把ereg换成preg_match，ereg_replace也需得换成preg_replace。只得注意的是<br />ereg(&#8217;^[0-9]&#8216;&nbsp;&nbsp;&nbsp; 需修改成&nbsp;&nbsp; preg_match(&#8217;/^[0-9]/&#8216;<br />无敌//必须加，哈哈。（众人皆俯首赞道：王道也！）</p>来源:http://www.chineseinla.com/f/page_viewtopic/t_25780.html </div></div></div>  <div><br /><br /><br />引文来源&nbsp;&nbsp;<a target="_blank" rel="nofollow" href="http://5uecs.com/2009/1219/2OMDAwMDAwMDA2OA.htm">Function ereg() is deprecated Error 错误对策_php_无忧网店技术</a></div>  <div>&nbsp;</div>  <div>&nbsp;</div>  <div>&nbsp;</div>  <div>&nbsp;</div>  <div>&nbsp;</div>  <div>====2===========================================================</div>  <div>&nbsp;</div>  <div>信息提示是不推荐使用ereg_replace()，你加个@看能不能屏蔽掉,@ereg_replace(...)。<br />不行的话，改改咯。<br />1.define('DEDEADMIN', preg_replace("/[\/\\\\]{1,}/", '/', dirname(__FILE__) ) );<br />2.define('DEDEADMIN',strtr(dirname(__FILE__),'\\/','//'));</div>  <div>&nbsp;</div>  <div>&nbsp;</div>  <div><a rel="nofollow" href="http://topic.csdn.net/u/20090817/12/1cc8e6fa-9f32-4a14-b66f-4c30693ba455.html">http://topic.csdn.net/u/20090817/12/1cc8e6fa-9f32-4a14-b66f-4c30693ba455.html</a></div><img src ="http://www.cppblog.com/zhenglinbo/aggbug/171473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhenglinbo/" target="_blank">zhenglinbo880531</a> 2012-04-15 15:18 <a href="http://www.cppblog.com/zhenglinbo/archive/2012/04/15/171473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to open and close files in php</title><link>http://www.cppblog.com/zhenglinbo/archive/2012/03/08/167447.html</link><dc:creator>zhenglinbo880531</dc:creator><author>zhenglinbo880531</author><pubDate>Thu, 08 Mar 2012 14:48:00 GMT</pubDate><guid>http://www.cppblog.com/zhenglinbo/archive/2012/03/08/167447.html</guid><wfw:comment>http://www.cppblog.com/zhenglinbo/comments/167447.html</wfw:comment><comments>http://www.cppblog.com/zhenglinbo/archive/2012/03/08/167447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhenglinbo/comments/commentRss/167447.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhenglinbo/services/trackbacks/167447.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">html</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">body</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&lt;?</span><span style="color: #000000; ">php<br />$file</span><span style="color: #000000; ">=</span><span style="color: #000000; ">fopen(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">welcome.txt</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">r</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)&nbsp;or&nbsp;exit(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Unable&nbsp;to&nbsp;open&nbsp;file!</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">open&nbsp;"welcom.txt"file,&nbsp;只读方式</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">feof($file))</span><span style="color: #008000; ">//</span><span style="color: #008000; ">当还未达到文件的末端(EOF)时</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">{<br />echo&nbsp;fgets($file).</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&lt;br/&gt;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">从文件中逐行读取文件</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">}<br /></span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(feof($file))&nbsp;echo&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">End&nbsp;of&nbsp;file</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />fclose($file);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">关闭文件</span><span style="color: #008000; "><br /></span><span style="color: #000000; "><br /></span><span style="color: #000000; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">body</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">html</span><span style="color: #000000;">&gt;<br /><br />//-----------------------------------------------------------------------------------------------------------------------------------------------------<br /></span><pre id="best-answer-content"  mb10"="">fopen只是&#8220;打开&#8221;一个文件，并保存为一个资源变量。 这个资源变量里面并不包括文件的内容。 如果只是想显示文件内容，可用下面的语句： require_once "welcome.txt";<br />另外还有一个函数：  <br /> fgetc() 函数：用于从文件逐字符地读取文件。    注释：在调用该函数之后，文件指针会移动到下一个字符。<br /></pre></div><img src ="http://www.cppblog.com/zhenglinbo/aggbug/167447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhenglinbo/" target="_blank">zhenglinbo880531</a> 2012-03-08 22:48 <a href="http://www.cppblog.com/zhenglinbo/archive/2012/03/08/167447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：PHP 配置全攻略之Windows篇</title><link>http://www.cppblog.com/zhenglinbo/archive/2012/03/05/167194.html</link><dc:creator>zhenglinbo880531</dc:creator><author>zhenglinbo880531</author><pubDate>Mon, 05 Mar 2012 10:23:00 GMT</pubDate><guid>http://www.cppblog.com/zhenglinbo/archive/2012/03/05/167194.html</guid><wfw:comment>http://www.cppblog.com/zhenglinbo/comments/167194.html</wfw:comment><comments>http://www.cppblog.com/zhenglinbo/archive/2012/03/05/167194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhenglinbo/comments/commentRss/167194.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhenglinbo/services/trackbacks/167194.html</trackback:ping><description><![CDATA[<a href="http://cube316.hb169.com/article/phpinstall_win32.rar">点此下载此教程最新版本</a>  <p>前言</p> <p>　　一直在网上逛，对PHP也有了所谓的了解。感慨于菜鸟入门时的艰辛(想偶当初光自己安装就花了2个星期)，特写下此教程一篇，不敢托大，若能有所帮助则甚感欣慰。不当、不详及不解之处万望指正！</p> <p>　　补充：为了日后更新方便，此次安装方式和原来的常规方式略有不同，不必进行移动DLL文件等操作，请特别注意。</p> <p>　　<strong>几句废话：</strong>关于PHP的介绍自不必多叙，相信各位已从各方面或多或少得知。网上也有很多的安装教程，但不是 太旧不能顺应发展变化，就是错误连连，让新手无所适从。有朋友认为PHP的重点在编程上，服务器的配置可免则免，于是使用类似phptriad之类的合成 软件或者JAVA做的安装程序等。  这固然节省了一部分时间，但是错过了入门的必要步骤，我认为对您今后的学习还是不利的。如果有时间和毅力，不妨往下继续看。何况今天的这种安装方式，在您 重装系统后亦可在2分钟内重新完成PHP的安装配置。</p> <p>准备工作</p> <p><strong>安装平台<br /></strong>Win2003 Enterprise Server + IE 6.0.3790.0<br /><strong><br />　　 注：</strong>除win9x外，高版本windows下此配置方法应该均无问题(但没有时间一个个测试，有问题可以联系我)。 </p> <p><strong>使用软件及版本<br /></strong><a href="http://cn.php.net/distributions/php-4.3.4-Win32.zip" target="_blank">PHP4.3.4</a><br /><a href="http://www.apache.org/dist/httpd/binaries/win32/apache_2.0.48-win32-x86-no_ssl.msi" target="_blank">Apache2.0.48</a><br /><a href="http://mysql.linuxforum.net/Downloads/MySQL-4.0/mysql-4.0.17-win.zip" target="_blank">MYSQL4.0.17</a><br /><a href="http://keihanna.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.5.6.zip" target="_blank">Phpmyadmin2.5.6</a><br /><a href="http://www.zend.com/store/getfreefile.php?pid=13&amp;zbid=550&amp;iagree=1" target="_blank">ZendOptimizer2.1.0b</a></p> <p>　　<strong>注：</strong>以上软件均为Windows下的最新稳定版本。当您看到这篇教程时，也许各软件版本早已更新，请自行调整测试。</p> <p>正式开始</p> <p>　　<strong>推荐更改以下所有软件的默认安装路径，不要放在系统盘，理由在后面。此处我将安装主目录设在 <u>G:\phpinstall\</u> ,本文下面的路径也请改为相应路径。</strong></p> <p>安装MYSQL数据库</p> <p>　　这个比较简单。将下载好的ZIP文件解压缩，直接点一下里头的setup.exe，一路NEXT即可(本人安装路径：G:\phpinstall\mysql)。<br />　　然后请打开&#8220;我的电脑&#8221;，运行一下&#8220;C:\mysql\bin\winmysqladmin.exe&#8221;，初次运行可能会遇见<a href="http://www.7880.com/info/img/mysql01.jpg" target="_blank">如下界面</a>，这个是让你填写MYSQL默认的用户名和密码，请按要求填写(以后还可以修改)。接下来点击&#8220;OK&#8221;之后可能会发现它不见了，别急，看看你的任务栏右下角，在<a href="http://www.7880.com/info/img/mysql02.jpg" target="_blank">这里</a>呢！ 那个可爱的红绿灯，看见了没有？如果显示是绿灯，恭喜你，MYSQL服务已经启动。如果是黄灯，请稍候一下。如果是红灯，也请别急，右击那个图标，然后点 &#8220;WINNT==&gt;Start the Server Standalone&#8221;，如果那个选项呈现灰色，请点&#8220;Start the  Service&#8221;。其目的是重新启动MYSQL服务。<br />　　 许多教程里谈到用运行命令(cmd)来启动，放着这么好的工具不用，其实何必呢？<br />　　 继续，右击,我们点&#8220;Show me&#8221;，然后出现了它的运行界面。点倒数第2个"Databases"，查看默认数据库是否已经存在(test及mysql)，否则请仔细查看前面的过程，必要时重新安装。<br />　　 而左边第2项&#8220;Start Check&#8221;可以在您重新启动系统(比较直接和偷懒的方法)或者重新启动MYSQL服务(参见上述红灯情况部分)后用来判断是否正常。一般来说<a href="http://www.7880.com/info/img/mysql03.jpg" target="_blank">如下提示</a>说明是正确的(均为OK)。否则也请自行重新启动系统或服务。<br />　 　如果还不放心，试试这样：运行&#8220;G:\phpinstall\mysql\bin\mysql.exe -u root  -p&#8221;，正常的话应该出现一个类似DOS的窗口(如果出现让您输入密码的窗口，直接回车即可，因为mysql初始安装root密码默认为空；如果是覆盖安 装MYSQL的话请输入原来的那个root密码)。然后输入&#8220;show  databases;&#8221;(别忘了分号)，接下来如果出现两个数据库名称(mysql和test)，那现在已经可以很肯定的说，您的MYSQL已经完全配置 好了　:) <a href="http://www.7880.com/info/img/mysql04.jpg" target="_blank">看看效果</a></p> <p>安装Apache服务器</p> <p>　　其实安装的过程很简单，也是类似的一路&#8220;NEXT&#8221;就行了，这里就说明两点：<br />　　&#9312;中间会出现一个界面，别怕，按<a href="http://www.7880.com/info/img/apache01.jpg" target="_blank">如下窗口</a>的提示写即可，何况我们以后还可以修改这些信息。<br />　　&#9313;如果您要更改默认安装路径，注意Apache2.x会自动在路径后面再加上一个"Apache2"文件夹。例如我把它安装在&#8220;G:\phpinstall\Apache2\&#8221;下，中间更改路径时只需要填写或选择"G:\phpinstall\"即可，<a href="http://www.7880.com/info/img/apache02.jpg" target="_blank">如图</a>。<br />　　安装完了，你会发现右下角多了<a href="http://www.7880.com/info/img/apache03.jpg" target="_blank">这么一个图标</a>，双击，发现<a href="http://www.7880.com/info/img/apache04.jpg" target="_blank">这个界面</a>.这是Apache2新增的一个非常实用的工具，在这里可以方便的控制Apache服务的开启、关闭、重启等操作，留给大家自行研究吧。<br />　　现在请打开IE浏览器，在地址栏中敲入&#8220;http://127.0.0.1&#8221;，出现<a href="http://www.7880.com/info/img/apache05.jpg" target="_blank">以下界面</a>者，说明Apache的默认安装是成功的。</p> <p>PHP的安装</p> <p>　　将下载得到的PHP-4.3.4-win32.zip解压缩到&#8220;G:\phpinstall\php&#8221;，请确保下面没有类似&#8220;php- 4.3.4-win32&#8221;这样的子文件夹，即压缩包内所有的文件已经直接放到了PHP的安装文件夹(&#8220;G:\phpinstall\php&#8221;)下。<br />　　说到这里，不得不提一下PHP的两种安装方式。一种是CGI的安装方式，另一种是模块（modules）安装方式，一般推荐后面一种，因为其扩充性比较好。下面就按照这种思路安装。<br />　　请将&#8220;G:\phpinstall\php\php4ts.dll&#8221;移入&#8220;G:\phpinstall\php\sapi&#8221;。最后将&#8220;G:\phpinstall\php\php.ini-dist&#8221;<strong>改名</strong>为&#8220;php.ini&#8221;后移到 Apache2 的安装目录&#8220;G:\phpinstall\Apache2&#8221;下（注意：移到系统目录例如 C:\WINNT亦可，但这样重装系统后你又得重新配置PHP，这种移到Apache2目录的方法可以省去该麻烦）。<br />　　最后，在 G:\phpinstall\php 下新建两个子目录&#8220;session&#8221;和&#8220;includes&#8221;（理由？呵呵，别急，下面会说明）<br />　　好了，PHP的安装就这么简单，是不是有点不可思议？</p> <p>Apache及PHP的配置(重点)</p> <p>　　<u>配置PHP的一些属性</u></p> <p>　　打开&#8220;G:\phpinstall\Apache2\php.ini&#8221;，搜索&#8220;doc_root&#8221;，&#8220;=&#8221;后面默认应该为空，你可以将它改为自 己的WWW网页的默认位置，例如本人的机器上就是改为&#8220;doc_root = f:/www&#8221;（请使用斜杠"/"而非反斜杠"\"）。<br />　　继续搜 索&#8220;extension_dir&#8221;，会得到&#8220;extension_dir = ./&#8221;一行，将它改为&#8220;extension_dir =  G:/phpinstall/php/extensions&#8221;。然后搜索&#8220;;extension=&#8221;，会得到一大传类似的连续行。这些是PHP的扩展模 块，可以根据需要使用，对需要加入的模块只需要去掉前面的分号即可。例如，&#8220;extension=php_gd.dll&#8221;、 &#8220;extension=php_imap.dll&#8221;、&#8220;extension=php_zip.dll&#8221;等。<br />　　  搜索一下&#8220;session.save_path&#8221;，找到&#8220;session.save_path =  /tmp&#8221;一行，将后面的地址改为你自己机器上已经存在的目录（这就是刚才建子目录的用处，你不会想每次装了PHP后都重新建一次吧？），这里使用 &#8220;G:\phpinstall\php\session&#8221;目录，然后将这一行改为&#8220;session.save_path =  G:/phpinstall/php/session&#8221;（Again，还是斜杠）。这个问题在很多教程中都没有提到，而且一般SESSION在身份验证、 购物车等时候才需要，所以初学者容易忽视。<br />　　好了，保存一下，PHP的配置暂告一段落。</p> <p>　　<u>配置Web服务器Apache</u></p> <p>　　依次展开&#8220;开始菜单==&gt;程序==&gt;Apache HTTP Server 2.0.48==&gt;Configure  Apache Server==&gt;Edit the Apache httpd.conf Configuration  File&#8221;，打开Apache的配置文件&#8220;httpd.conf&#8221;。<br />　　搜索&#8220;#Listen&#8221;，找到&#8220;#Listen 12.34.56.78:80&#8221;一行，如果想让Apache2只监听某一该IP段，这里就需要去掉注释，改成你需要的IP地址。例如，你只需要本机调试，不想让外部访问，那就改成 &#8220;Listen 127.0.0.1:80&#8221;，这样一来，只能从你本机访问（地址栏输入 127.0.0.1 或者 localhost）才能看到Apache2的页面。或者当你网卡绑定了两个以上的IPe而只想用其中某一个时也可以考虑用这个方法。一般而言不必对此做太多修改。<br />　 　接下来搜索&#8220;#LoadModule&#8221;，又找到一大串连续的行。这些是Apache2为了解释特定的语言而引入的模块。请在后面加入新的一 行：&#8220;LoadModule php4_module  G:/phpinstall/php/sapi/php4apache2.dll&#8221;以使Apache2加入对PHP的支持。<br />　　然后在这一行的后面再加上（其实加在哪里都一样，这样只是为了便于以后纠错）：<br />　　　　AddType application/x-httpd-php .php<br />　　　　AddType application/x-httpd-php .php4<br />　　　　AddType application/x-httpd-php .php3<br />　　　　AddType application/x-httpd-php .phtml<br />　　　　AddType application/x-httpd-php-source .phps<br />　　上述几行的用处是添加Apache支持和解释的PHP后缀名。您一定可以想到，如果加入&#8220;AddType application/x-httpd-php .html&#8221;一行，那么直接把PHP文件存为html格式也不要紧，你的Apache还是会自己解释的。<br />　　 （<strong>如果使用的是Apache1.x版本，还需做以下操作：搜索&#8220;AddModule&#8221;，还是找到一大串的连续行。在最后一行的下面加上&#8220;AddModule mod_php4.c&#8221;一行。本文使用的是2.x系列，所以毋需此步骤。</strong>）<br />　 　最后需要更改的是默认WWW文件夹。搜索&#8220;DocumentRoot&#8221;，找到类似&#8220;DocumentRoot  "G:/phpinstall/Apache2/htdocs" &#8221;一行（随Apache2安装路径而改变）。将它改为&#8220;DocumentRoot  "f:/www"  &#8221;（记得上面PHP的配置吗？对，同一个地方）。然后千万不能忘了一点，就是还要改一处地方，就是在你刚找到&#8220;DocumentRoot&#8221;下面不远的地方 （或者直接搜索&#8220;# This should be changed to whatever you set DocumentRoot  to&#8221;就可以发现它的所在），将&#8220;&lt;Directory  "G:/phpinstall/Apache2/htdocs"&gt;&#8221;一行改为&#8220;&lt;Directory "f:/www"&gt;&#8221;。<br />　 　如果需要增加虚拟目录，请添加类似&#8220; Alias /manual "G:/phpinstall/Apache2/htdocs/manual/"  &#8221;的行。其中&#8220;Alians&#8221;后面的那个斜杠后面对应的是虚拟目录名，后面的是它的物理路径。上面的地址就可以通过&#8220;http://127.0.0.1 /manual&#8221;来访问。</p> <p>　　<u>更改环境变量</u></p> <p>　　由于PHP在windows下运行时需要一些额外的DLL，所以需要用到&#8220;G:\phpinstall\php\dlls&#8221;下的那些文件。常规 方法是将这些文件放到&#8220;C:\WINDOWS\system32&#8221;下，但这样一来每次重新装都要如此，所以我使用环境变量来避免此问题。桌面右击&#8220;我的电 脑&#8221;==&gt;&#8220;属性&#8221;==&gt;&#8220;高级&#8221;==&gt;&#8220;环境变量&#8221;==&gt;&#8220;系统变量&#8221;==&gt;找到&#8220;Path&#8221;一行，双击，在后面添加上 述目录，注意记得在原先的环境变量后面加上分号以区分（即需要输入&#8220;<strong>;</strong>G:\phpinstall\php\dlls&#8221;）</p> <p>　　好了，三大难点基本上搞定。为了能让您有所参照，特地将自己的配置文件放了上来，以供参考。<a href="http://www.7880.com/info/img/config.zip">点此下载</a>　　</p> <p>程序调试阶段</p> <p>　　这里要提醒一点，对Apache或PHP的设置做了更改后，需要重启Apache以使其生效（以后类似，请自行注意）。具体如下：<br /><br />　　开始菜单=&gt;程序=&gt;Apache HTTP Server 2.0.48=&gt;Control Apache Server=&gt;Restart=&gt; OK<br /><br />　　如果在这中间出现什么问题的话，请根据提示来检查。现在，我们来测试一下自己的安装成果。</p> <p>　　在&#8220;F:\www&#8221;新建一个文本文件，输入以下内容：<br />　　　　 &lt;?php<br />　　　　 phpinfo();<br />　　　　 ?&gt;<br />　　然后将它更名为&#8220;phpinfo.php&#8221;，保存。打开IE浏览器，运行&#8220;http://127.0.0.1/phpinfo.php&#8221;，如果出现类似<a href="http://www.7880.com/info/img/php01.jpg" target="_blank">这样</a>的网页内容，恭喜，PHP已经基本上安装好了。</p> <p>　　接下来要测试的是与MYSQL数据库的连接。<br />　　  把下载得到的&#8220;phpMyAdmin-2.5.4-php.zip&#8221;解压缩到&#8220;F:/www/phpmyadmin/&#8221;下，然后编辑 config.inc.php文件，搜索&#8220;$cfg['PmaAbsoluteUri']&#8221;一行，后面对应的是phpmyadmin的虚拟路径，这里我们 把它改为&#8220;$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';&#8221;。<br />　　继续往 下，搜索&#8220;$cfg['Servers'][$i]['auth_type']&#8221;这一行，这个是phpmyadmin的身份验证配置方式。这里我们选择 &#8220;$cfg['Servers'][$i]['auth_type'] =  'config';&#8221;，下面两行就是mysql的用户名和密码。默认的用户名是&#8220;root&#8221;，密码为空，别怕，我们呆会儿可以利用phpmyadmin修 改它。<br />　　还是搜索，搜&#8220;$cfg['DefaultLang']  =&#8221;一行后面是它默认的语言，这里我们将它改为&#8220;$cfg['DefaultLang'] =  'zh';&#8221;，顺便把下面10行左右的默认字符集&#8220;$cfg['DefaultCharset']  =&#8221;改为&#8220;$cfg['DefaultCharset'] = 'gb2312';&#8221;。<br />　　在浏览器中输入&#8220;http://127.0.0.1/phpmyadmin&#8221;，如果出现的<a href="http://www.7880.com/info/img/php02.jpg" target="_blank">界面如下</a>，说明mysql已经连接成功了。phpmyadmin的其他功能就靠自己去摸索和实践了。</p> <p>添加Zend引擎</p> <p>　　这个是所有安装中最简单的一步了。直接点下载得到的那个&#8220;ZendOptimizer-2.1.0b-Windows-i386.exe&#8221;。因 为我们的php.ini文件不在默认位置，中间需要指明它的位置（G:\phpinstall\Apache2）。它会自动备份原来的php.ini文件 为php.ini.optimizer-bak，安装后需要重新启动系统才能生效。重启后请再次运行&#8220;http://127.0.0.1 /phpinfo.php&#8221;，看是否在其中出现<a href="http://www.7880.com/info/img/php03.jpg" target="_blank">如图的画面</a>（往下拉，在中间部位），没有的话，可要好好查查了。相信这个难不倒你，我就不多罗嗦了。成功后Apache就可以顺利解释有些用Zend加过密的PHP文件了。</p> <p>重要说明</p> <p>　　此次安装与以往不同之处就在于php.ini的放置位置及dll文件的处理，因此，<strong>当您需要更新PHP版本时</strong>：请将新版本的PHP安装文件放到以前的目录并覆盖旧文件（参考上述 PHP的安装 部分，需要移动一个文件），而php.ini也需要重新编辑设定并移入Apache2安装目录（原来的php.ini文件设定可以参考，但不能继续使用，否则可能会导致未知问题） ；或者<strong>重新安装了系统后</strong>： 只要原来安装目录（G:\phpinstall）下的文件没有改变，则只需覆盖安装MYSQL、Apache（过程参考上述步骤，安装路径要选择原来 的），原来的配置和数据均不会被替换。然后重新设定一下PHP中DLL的环境变量即告成功！这也就是为何不要安装在系统盘的原因所在。 </p> <p>FAQ</p> <p><strong>Q1</strong>：<strong>出现<a href="http://www.7880.com/info/img/error1.jpg" target="_blank">图中这个错误</a>是什么意思？</strong><br /><strong>A1</strong>：意思很明显了，没有任何安装的Apache2服务。要么您的系统是win9x，要么就是前面Apache2的安装过程出了一点小小的问题，请重新安装试试。</p> <p><strong>Q1</strong>：<strong>我提交表单的时候不会自动生成变量？</strong><br /><strong>A1</strong>：PHP4从4.2.0版本起，全局变量自动关闭。对于表单提交过来的变量，需要用特定的函数接受，具体如： <br /><br />　　$a=$_GET['var']; <br />　　$b=$_POST['var']; <br /><br />如果需要自动生成变量，可以打开php.ini，找到 register_globals = Off 一行，改成 register_globals = On ，然后重启Apache就可以了，但是从安全角度考虑，不推荐。 </p> <p>一些编后感想</p> <p>　　其实PHP的安装也不是很难，关键是要有耐心。而php.ini和httpd.conf这两个关键的配置文件我也没有全部谈到。有些地方还是需 要自己去慢慢揣测和琢磨了。中间安装过程也可能和我说的不完全一致，就要自己细心钻研。怎么说呢，时间的付出和获得的回报应该是成正比例的。相信各位也应 该会明白这个道理。</p> <p>　　事隔一年，更新此文，竟产生些许感触。</p> <p>　　好了，开始您的PHP编程之旅吧，祝您好运！</p> <p>又及：在别人进入PHP世界初期需要帮忙的时候，请不吝伸出你的双手帮助他们，谢谢。</p><img src ="http://www.cppblog.com/zhenglinbo/aggbug/167194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhenglinbo/" target="_blank">zhenglinbo880531</a> 2012-03-05 18:23 <a href="http://www.cppblog.com/zhenglinbo/archive/2012/03/05/167194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>