Flash builder 4.6 序列号
Flash builder 4.6 序列号:
1424-4938-3077-5736-3940-5640
1424-4827-8874-7387-0243-7331
认识自己的无知 是认识世界最可靠的方法
Flash builder 4.6 序列号:
1424-4938-3077-5736-3940-5640
1424-4827-8874-7387-0243-7331
<p>’shift’ + ‘tab’:左移代码;
‘alt’ + ‘/’:代码提示; 或者自己在key里找到 content assist自己设置
‘ctrl’ + ‘o’:快速查找以及指向变量或函数或者mxml组件的id;
‘ctrl’ + ‘d’:删除一行代码; [用它你会上瘾的]
‘ctrl’ + ‘m’:在最大化与还原之间切换获得焦点的窗口; 很常用的啦, 非常方便, 另外双击窗口也可以实现同样的</p><p>‘ctrl’ + ‘e’:快速查找以及指向打开的文件; [在打开的文件很多时尤其实用]
”tab’:右移代码; [也很常用,非常方便]
‘ctrl’ + ‘~’:代码和设计模式切换;
‘ctrl’ + ‘/’:注釋一行ActionScript代碼[很常用]
‘ctrl’ + ’shift’ + ‘c’:添加<!– –>或/ /
‘ctrl’ + ’shift’ + ‘d’:添加<![CDATA[ ]]>
‘ctrl’ + 鼠標左鍵: 快速指向所點擊類文件</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>
===============================================================================</p><p>首先:ctrl+shift+L.打开快捷键菜单.这里面列出了所有的快捷键.如果有哪个键用起来不爽你还可以选择preference->general->key.在里面你可以自己设定快捷键.</p><p>ctrl+/:这里可以进行单行注释.但只能用在AS3代码里面.在mxml里面就用不了.</p><p>ctrl+shift+C.这个是注释块键.用这个快捷键时.你先要把你在注释的行选上.然用按快捷键就行.这个可以用在AS3代码与mxml里面.</p><p>ctrl+alt+up/down.这个快捷键可以复制光标所在一行.在FD里面有一个插件可以实现智能复制.但这个不能.</p><p>alt+up/down.这个也好玩.它可以把你光标所在的行进行上下移动.</p><p>ctrl+shift+B.在光标所在行加断点.按两次可以取消断点.</p><p>alt+/:这个用的最多.你打几个字符一按.出现了什么?提示.对.就是提示.但是它提示的只是一些类的名字.注意不是关键字.如里你想打一个pri然后按alt+/它永远也不会出现private.不信你试试.</p><p>ctrl+alt+/: 这个就爽了.它可以自动帮你填你需要的字符.比如.你打一个pri然后它就会自动帮你补上后面的字符.可是.问题是.如果我就打一个p再按快捷键它会出现 什么了?还是private.那我如果想要public怎么办?事实是这样的.这个快捷键它补充的字符一定要是你在前面出过的字符.而且它是由下向上匹配 字符的.如果没有相符的字符.便会发出"嘟"的一声.不信.你可以试一下这个.先打一个private.再打一个public.然后打一个p按快捷键试一 下.出来什么?换一下.把private打在后面试试.就出现了什么?</p><p>alt+shift+N:新建.这个好用.还有和下也是新建.ctrl+N.两个不一样.试试看.</p><p>ctrl+Click(鼠标左键).转到引用的类文件里面去.相当与查看源文件.</p><p>ctrl+shift+d.添加<![cdata[]]>东西.它可以把光标所在行放到一个<![cdata[]]里面去.</p><p>F11.调试.</p><p>ctrl+F11.运行.</p><p>ctrl+O.显示代码大纲.只能AS3代码的哦.</p><p>ctrl+D.删除光标所在行.</p><p>
=========================================================================================</p><p>Ctrl-F11: 执行(Run)
F11: 除错(Debug)
Ctrl-Alt-Down: 重复目前所在编辑列(Repeat current line )
Alt-Up: 移动本列,或选择列往上移动(Move line (or selection) up )
Alt-Down: 移动本列,或选择列下往移动(Move line (or selection) down )
Ctrl-Click: 移至定义区(Go to definition (also F3) )
Ctrl-D: 删除本列(Delete line )
Alt-/: 文字自动完成(Word completion (cycles through possible matches))
Ctrl-Up: 捲轴向上(Scroll up )
Ctrl-Down: 捲轴向下(Scroll Down )
(组合键) Ctrl+Shift+L
(Activate Editor) F12
(Align Baselines) Ctrl + Alt + 8
(Align Bottom) Ctrl + Alt + 6
(Align Horizontal Centers) Ctrl + Alt + 5
(Align Left) Ctrl + Alt + 1
(Align Right) Ctrl + Alt + 3
(Align Top) Ctrl + Alt + 4
(Align Vertical Centers) Ctrl + Alt + 2</p><p>(Backward History) Alt + Left
(Breakpoints) Alt + Shift + Q,B
(Build All) Ctrl + B
(Cheat Sheets) Alt + Shift +Q,H
(Close) Ctrl + F4
(Close All) Ctrl + Shift + F4
(Console) Alt + Shift + Q,C
(Content Assist) Alt + /
(Context Information) Alt + Shift + ?
(Copy) Ctrl + C
(Cut) Ctrl + X
(Debug Adobe AIR Application) Alt + Shift + D,L
(Debug Flex Application) Alt + Shift +D,F
(Debug Last Launched) F11
(Delete) Delete
(Find Text in Workspace) Ctrl + Alt + G
(Find and Replace) Ctrl + F
(Find in Files) Ctrl + Shift + F
(Fit to Window) Ctrl + 0
(Forward History) Alt + Right
(History) Alt + Shift + Q,Z
(Last Edit Location) Ctrl + Q
(Make Same Height) Ctrl + Alt + 9
(Make Same Width) Ctrl + Alt + 7
(Maximize Active View or Editor) Ctrl + M
(New) Ctrl + N
(New menu) Alt + Shift + N
(Next) Ctrl + .
(Next Editor) Ctrl + F6
(Next Perspective) Ctrl + F8
(Next View) Ctrl + F7
(Open Resource) Ctrl + Shift + R
(Open Search Dialog) Ctrl + H
(Paste) Ctrl + V
(Previous) Ctrl + ,
(Previous Editor) Ctrl + Shift + F6
(Previous Perspective) Ctrl + Shift + F8
(previous View) Ctrl + Shift + F7
(print) Ctrl + P
(Profile Adobe AIR Application) Alt + Shift + P,L
(Profile Flex Application) Alt + Shift + P,F
(Properties) Alt + Enter
(Quick Access) Ctrl + 3
(Quick Fix) Ctrl + 1
(Quick Switch Editor) Ctrl + E
(Redo) Ctrl + Y
(Refresh) F5
(Remove All Visible Results) Shift + Delete
(Remove Result) Ctrl + Delete
(Rename) F2
(Run Adobe AIR Application) Alt + Shift + X, L
(Run Flex Application) Alt + Shift + X, F
(Run Last Launched) Alt + F11
(Save) Ctrl + F11
(Save All) Ctrl + Shift + S
(Search) Alt + Shif + Q, S
(Select All) Ctrl + A
(Show In menu) Alt + Shift + W
(Show Key Assist) Ctrl + Shift + L
(Show System Menu) Alt + -
(Show View) Alt + Shift + Q , Q
(Show View [View:Outline]) Alt + Shift + Q ,0
(Show View [View:Problems]) Alt + Shift + Q , X
(Show View Menu) Ctrl + F10
(Switch Source/Design Mode) Ctrl + ‘
(Switch to Editor) Ctrl + Shift + Q , Y
(Terminate Result) Ctrl + Break
(Toggle Breakpoint) Ctrl + Shift + B
(Undo) Ctrl + Z
(Use Step Filters) Shift + Z
(Variables) Alt + Shift + Q , V
(Zoom In) Ctrl + =
(Zoom Out) Ctrl + -</p>
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:buttons="com.giantstone.workflow.ui.buttons.*"
width="46" height="80" rollOut="this.currentState=null"
>
<p>有时候需要动态的设置 WebService 的址,这样发布到不同的服务器时就要重新生成,为此我们需要在web.config中动态配置WebService的地址,在网上查了很多资料,其中这种方法感觉很好用也很好实现,原文VB.NET实现。本人已改为C#版</p><p>首先手动的添加一个Web引用(这个就不用说了吧)</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>然后修改本地的代理类(添加一个新类,继承你的 WebService代理类)</p><p>实例:</p><p>namespace Web_Service</p><p>{</p><p>[System.Diagnostics.DebuggerStepThrough(),System.ComponentModel.DesignerCategory("code"),</p><p>System.Web.Services.WebServiceBinding(Name = "", Namespace = "")]</p><p>public class DynWebService : SelfWebService</p><p>{</p><p>public DynWebService() : base()</p><p>{</p><p>//设置默认webService的地址</p><p>this.Url = "http://localhost/WebService.asmx";</p><p>}</p><p>public DynWebService(string webUrl) : base()</p><p>{</p><p>this.Url = webUrl;</p><p>}</p><p>}</p><p>}</p><p>说明:SelfWebService 你引用的 WebService</p><p>Web Service的URI部署到配置文件里</p><p><add key="WebServiceKey"value="http://xxxx/WebService.asmx"/></p><p>最后实现</p><p>private void WebServiceTest()</p><p>{</p><p>string webServiceUrl = ConfigurationManager.AppSettings["WebServiceKey "].ToString();</p><p>Web_Service.DynWebService dws = new Web_Service.DynWebService(webServiceUrl);</p><p>string result = dws.HelloWorld();</p><p>}
OK 到这里就搞定了</p>
<div>用PHP操作sqlite数据库</div><div> </div><div>a、 如何连接sqlite数据库?</div><div>if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {</div><div>select from sqlite_master;</div><div>echo "数据库连接成功!n</div><div>";</div><div>} else {</div><div>die($sqliteerror);</div><div>}<div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div></div><div>b、 如何列出数据库中所有的表?</div><div>if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {</div><div>$result = sqlite_array_query($db, 'select * from sqlite_master;');</div><div>foreach ($result as $entry) {</div><div>echo 'talbe name='.$entry['name']."</div><div>n";</div><div>echo 'sql='.$entry['sql']."</div><div>n";</div><div>echo "</div><div>--------------------------------------------------------------------------------</div><div>";</div><div>}</div><div>sqlite_close($db);</div><div>} else {</div><div>die($sqliteerror);</div><div>}}</div><div>c、 对sqlite数据库的查询,以及结果集的显示</div><div>if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {</div><div>$result = sqlite_array_query($db, 'select name, email from user ', SQLITE_ASSOC);</div><div>echo "user表查询结果:</div><div>n";</div><div>echo " n name email</div><div>n";</div><div>foreach ($result as $entry) {</div><div>echo ' '.$entry['name']." " $entry['email']."</div><div>n";</div><div>}</div><div>echo ' ';</div><div>sqlite_close($db);</div><div>} else {</div><div>die($sqliteerror);</div><div>}</div><div>d、 数据库对象记录的增加、删除、修改</div><div>sqlite_query($db, "INSERT INTO user VALUES('user".$i."'" ",'user".$i."@ hichina. com')");</div><div>sqlite_query($db, "delete from user where user=’user99’");</div><div>sqlite_query($db, 'UPDATE user SET email="lilz@ hichina .com" where name="user1"');</div><div> </div><div>使用.NET操作SQLLITE<div>先下载ADO.NET2.0 Provider for SQLite。下载binaries zip版就可以了。下载完后解压缩,可以在bin目录下找到System.Data.SQLite.DLL。在vs2008中用Add Reference功能把System.Data.SQLite.DLL加到工程里就可以了。运行下面代码试试:</div><div>string datasource = "e:/tmp/test.db";</div><div>System.Data.SQLite.SQLiteConnection.CreateFile(datasource);</div><div>//连接数据库</div><div>System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();</div><div>System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();</div><div>connstr.DataSource = datasource;</div><div>connstr.Password = "admin";//设置密码,SQLite ADO.NET实现了数据库密码保护</div><div>conn.ConnectionString = connstr.ToString();</div><div>conn.Open();</div><div>//创建表</div><div>System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();</div><div>string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";</div><div>cmd.CommandText = sql;</div><div>cmd.Connection = conn;</div><div>cmd.ExecuteNonQuery();</div><div>//插入数据</div><div>sql = "INSERT INTO test VALUES('a','b')";</div><div>cmd.CommandText = sql;</div><div>cmd.ExecuteNonQuery();</div><div>//取出数据</div><div>sql = "SELECT FROM test";</div><div>cmd.CommandText = sql;</div><div>System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();</div><div>StringBuilder sb = new StringBuilder();</div><div>while (reader.Read())</div><div>{</div><div>sb.Append("username:").Append(reader.GetString(0)).Append("n")</div><div>.Append("password:").Append(reader.GetString(1));</div><div>}</div><div>MessageBox.Show(sb.ToString());</div>
<p>‘TOP’置顶链接,说的通俗一点就是‘返回顶部的链接’,‘go to top ’一般都放在页面的底部,它可以快速返回页面顶部,以节省用户浏览页面的时间。 它主要的应用场景是
当你有一个很长的网页内容时,您通常要 把 ‘TOP’锚点链接 添加在页面底部,只要用户一点击‘TOP’链接 ,就可以马上回到 页面的顶部了。</p><p>我们遇到的问题是:不是滚动到页面底部的时候才看到了‘TOP’,如果页面内容超过两屏以上时,用户有些心烦,我不想看了,我想回到顶部看一些其他的内容。
如果我们只看了第一屏的文章,不想看了,可是‘TOP’在第二屏才会出现。</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>这时候有三种情况发生:</p><ol> <li>发挥鼠标特长就是拖动浏览器的滚动条或是滚动鼠标滑轮,回到页面顶部。</li> <li>继续硬着头皮往下看,看有没有‘TOP’,幸运的话,马上找到了,可以回到顶部了。(一般人心中是没有‘TOP’概念的,只有选择1 和3 的方法了)</li> <li>直接关闭网页,或者重新打开网站,或者离开网站。</li></ol><p>我想我们已经找到了问题的所在了。</p><p>我们有三种方案可以给用户带来良好的用户体验:</p><h2>方案一:在合适的地方,手动加入一个或多个‘TOP’链接。</h2><p>这是最原始的做法了,如果滚动太快,验,那就是我们给用户用脚本实现一下缓冲效果,而不是直接飙到顶部。</p><h3>The HTML :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <a id="gototop"href="javascript:void(0);"onclick="goTop();return false;">Top of Page</a></td> </tr> </tbody></table><h3>The JavaScript :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>/ 作者:我是UED ,http://www.iamued.com/qianduan/816.html 回到页面顶部 @param acceleration 加速度 @param time 时间间隔 (毫秒) /function goTop(acceleration, time){ acceleration = acceleration ||0.1; time = time ||16; var x1 =0;var y1 =0;var x2 =0;var y2 =0;var x3 =0;var y3 =0; if(document.documentElement){ x1 = document.documentElement.scrollLeft||0; y1 = document.documentElement.scrollTop||0;}if(document.body){ x2 = document.body.scrollLeft||0; y2 = document.body.scrollTop||0;}var x3 = window.scrollX||0;var y3 = window.scrollY||0; // 滚动条到页面顶部的水平距离var x = Math.max(x1, Math.max(x2, x3));// 滚动条到页面顶部的垂直距离var y = Math.max(y1, Math.max(y2, y3)); // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小var speed =1+ acceleration; window.scrollTo(Math.floor(x / speed), Math.floor(y / speed)); // 如果距离不为零, 继续调用迭代本函数if(x >0|| y >0){var invokeFunction ="goTop("+ acceleration +", "+ time +")"; window.setTimeout(invokeFunction, time);}}</pre> </td> </tr> </tbody></table><p>DEMO测试网址</p><h2>方案二:‘TOP’默认是隐藏的,只要滚动条,滚动到一定高度时就显示,否则就隐藏。</h2><p>这样我可能想从中间某处回到页面的顶部成为可能。</p><h3>The HTML :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td><ahref="#top"id="gototop" >Top of Page</a></td> </tr> </tbody></table><p>The CSS :</p><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>#gototop{display:none;position:fixed;right:5px;bottom:5px;color:green;font-weight:bold;text-decoration:none;border:1pxsolidgreen;background:Lightgreen;padding:10px;}#gototop{text-decoration:underline;}</pre> </td> </tr> </tbody></table><h3>The MooTools JavaScript :</h3><h3>注意:</h3><h3>我们需要MooTools Core 库的同时,也需要MooTools More 库中的 Fx.Scroll.js 和 Fx.SmoothScroll.js 两大文件。</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>window.addEvent('domready',function(){new SmoothScroll({duration:700});/ go to top /var go = $('gototop'); go.set('opacity','0').setStyle('display','block');window.addEvent('scroll',function(e){if(Browser.Engine.trident4){ go.setStyles({'position':'absolute','bottom': window.getPosition().y+10,'width':100});} go.fade((window.getScroll().y>300)?'in':'out')});});</pre> </td> </tr> </tbody></table><p><strong><a href="http://www.websbook.com/upimg/allimg/100402/2.htm" target="_blank">DEMO测试网址</a></strong></p><p>还有一个例子是动态生成‘TOP’。</p><h3>The MooTools JavaScript :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>/** * back-to-top: unobtrusive global 'back to top' link using mootools 1.2.x * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. * http://creativecommons.org/licenses/by-sa/3.0/ */ // hide the effect from IE6, better not having it at all than being choppy.if(!Browser.Engine.trident4){// element added onload for IE to avoid the "operation aborted" bug. not yet verified for IE8 as it's still on beta as of this modification. window.addEvent((Browser.Engine.trident?'load':'domready'),function(){var target_opacity =0.64;new Element('span',{'id':'back-to-top','styles':{ opacity: target_opacity, display:'none', position:'fixed', bottom:0, right:0, cursor:'pointer'},'text':'back to top','tween':{ duration:200, onComplete:function(el){if(el.get('opacity')==0) el.setStyle('display','none')}},'events':{'click':function(){/*location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用 location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如 http://ued.alimama.com#admin的location.hash=”#admin”,利用这个属性值可以实现很多效果。*/if(window.location.hash){ window.location.hash='#top';}else{ window.scrollTo(0,0);/*把窗口内容滚动到指定的坐标。*/}}}}).inject(document.body); window.addEvent('scroll',function(){var visible = window.getScroll().y>(window.getSize().y*0.8);if(visible == arguments.callee.prototype.last_state)return; // fade if supportedif(Fx && Fx.Tween){if(visible) $('back-to-top').fade('hide').setStyle('display','inline').fade(target_opacity);else $('back-to-top').fade('out');}else{ $('back-to-top').setStyle('display',(visible ?'inline':'none'));} arguments.callee.prototype.last_state= visible });});}</pre> </td> </tr> </tbody></table><h3>The jQuery JavaScript :</h3><p>需要jQuery’s ScrollTo plugin 插件添加一些平滑的锚。</p><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>//pluginjQuery.fn.topLink=function(settings){ settings = jQuery.extend({ min:1, fadeSpeed:200}, settings);returnthis.each(function(){//listen for scrollvar el = $(this); el.hide();//in case the user forgot $(window).scroll(function(){if($(window).scrollTop()>= settings.min){ el.fadeIn(settings.fadeSpeed);}else{ el.fadeOut(settings.fadeSpeed);}});});}; //usage w/ smoothscroll$(document).ready(function(){//set the link $('#gototop').topLink({ min:400, fadeSpeed:500});//smoothscroll $('#gototop').click(function(e){ e.preventDefault(); $.scrollTo(0,300);});});</pre> </td> </tr> </tbody></table><p><strong><a href="http://www.websbook.com/upimg/allimg/100402/4.htm" target="_blank">DEMO测试网址</a></strong></p><p><strong>注意:</strong></p><p>Please note that this version doesn’t work with Internet Explorer due to IE’s lack of CSS “position:fixed” support. Here is a shotty attempt at IE support:</p><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td>//plugin<br /> jQuery.fn.topLink=function(settings){<br /> settings = jQuery.extend({<br /> min:1, fadeSpeed:200,<br /> ieOffset:50<br /> }, settings);<br /> returnthis.each(function(){<br /> //listen for scroll<br /> var el = $(this);
el.css('display','none');//in case the user forgot
$(window).scroll(function(){<br /> //stupid IE hack<br /> if(!jQuery.support.hrefNormalized){<br /> el.css({<br /> 'position':'absolute',<br /> 'top': $(window).scrollTop()+ $(window).height()- settings.ieOffset<br /> });<br /> }<br /> if($(window).scrollTop()>= settings.min)
{
el.fadeIn(settings.fadeSpeed);
}
else
{
el.fadeOut(settings.fadeSpeed);
}
});
});
};
$(document).ready(function(){<br /> $('#gototop').topLink({
min:400,
fadeSpeed:500
});
//smoothscroll
$('#gototop').click(function(e){<br /> e.preventDefault();<br /> $.scrollTo(0,300);
});
});</td> </tr> </tbody></table><p>DEMO测试网址</p>
<p>PHP的程序很火,像博客:Wordpress、论坛:Discuz!、SNS:UCenter Home、CMS:DedeCMS等等都是比较流行的PHP程序,大家都在使用PHP类的程序,但对于很多初学者来说,直接上传到虚拟空间上一个一个调试 是很麻烦的事,那么在本地(我的电脑)中搭建一个PHP运行环境调试、测试程序是最快捷的方法。下面卢松松就介绍一些在本机快速搭建PHP运行环境的方 法,让不了解PHP的朋友能快速搭建一个属于自己的PHP运行环境。</p><p>本地的PHP平台分为两种,一种是LAMP,即为Linux+Apache+MySql+PHP;另一种是WAMP,它是 Windows+Apache+MySql+PHP,而前者一般优秀于后者。考虑到大家使用的都是windows平台,所以这里重点介绍在win平台搭建 php运行环境。这些组件都是傻瓜式安装,你一直点下一步即可安装成功。</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>PHP一键安装包介绍</p><p>一:ComsenzEXP</p><p align="center"></p><p>ComsenzEXP是康盛创想开发的一套社区产品整合体验安装包,ComsenzEXP包括:Discuz!(论坛)、 SupeSite(CMS)、UCenter(用户中心)、UCenter Home(SNS社区)。卢松松本人经常使用ComsenzEXP一键安装,同样也可以调试其他PHP程序,如:dedecms、phpwind。只要把 程序放在wwwroot目录,数据库放在MySQL的data目录即可。</p><p>二:DedeAMPZ-PHP环境整合套件</p><p align="center"></p><p>DedeAMPZ 是直接整合PHP + Apache + MySql 的服务器环境管理软件,操作十分傻瓜化,适合初中级水平的站长使用。该套装默认搭载dedecms。安装使用十分简单,并支持在php4与php5中切 换。同样也可以调试其他PHP程序,只要放在wwwroot目录中即可。</p><p>三: Xampp</p><p align="center"></p><p>XAMPP是一款比较强大的本地测试平台,虽说面板是英文的,但清楚易懂。注册为系统服务有个好处就是开机能够自动运行,但是会消耗一定的系统资源,怎么取舍用户自己来定。安装成功,服务也启动成功后,就可以把浏览器打开输入http://localhost/,试试是否成功。在XAMPP的网页选项里,有中文支持,好像好多人都在用Xampp。</p><p>相关阅读:4步用XAMPP快速搭建LAMP环境</p><p>四:WampServer</p><p align="center"></p><p>官方网站没有中文,但是程序支持中文。它能切换在线和离线状态,选项中的文语言项中也有简体中文可选,很不错。</p><p>相关阅读:快速搭建php运行环境之WampServer</p><p>五:PHPStudy</p><p align="center"></p><p>PHPStudy不一样,它含有IIS+PHP和Apache+PHP,软件推荐设置是后者。在任务托盘里也有图标,可以打开面板来看服务运行状 态,也很简洁。一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等.总之学 习PHP只需一个包.对学习PHP的新手来说, WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事.因此无论你是新手还是老手,该程序包都是一个不错的选择.</p><p>相关阅读:快速搭建php运行环境之PHPStudy</p><p>六:AppServ</p><p align="center"></p><p align="left">
较为轻量的WAMP,程序安装过程中它提示你可以改变默认的80端口为服务端口,软件没有控制面板,但一切操作都在开始菜单中加入了快捷方式。</p><p align="left">相关阅读:快速搭建php运行环境之APMServ</p><p>手动安装PHP运行环境方法</p><p>一般来说PHP运行环境需要安装以下几个组件:1:Apache(阿帕奇)Web服务器软件;2:MySQL(小型关系型数据库管理系统);3:PHP(php语言的编译环境);4:phpmyadmin(管理MYSQL的);5:Zend(提高PHP执行速度)。</p><p>安装PHP常见问题</p><p>如果某些这样的PHP相关的服务无法启动,请注意一下你的机器中的80端口是否被占用,检查80端口是否被占用的方法:打开CMD(开始-运行-输入CMD后回车),输入netstat -ano就可以很清楚的看到本地80口占用程序的PID。</p>
<h2>导言:</h2><div>近来,nginx以其高性能吸引大批web开发者,各大门户网站大多都采用nginx作为web服务器,关于nginx的介绍,网上已有大量文 章,笔者就不在此赘述,关于linux上nginx的搭建网上也有大量文章,但在windows上却为数不多,今天就为大家简单介绍windows7环境 下nginx+php+mysql组合的搭建,希望对各位有所帮助。所有软件包均是最新稳定版。</div><div>php5.4.8</div><div>nginx1.2.5</div><div>mysql5.5.28<div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p> </p></div><h2>1.下载相关安装包</h2><p>下载nginx :Stable version nginx/Windows-1.2.5</p><p>http://nginx.org/en/download.html 也可点此处直接下载http://nginx.org/download/nginx-1.2.5.zip</p><p> </p><p>下载php: VC9 x86 Non Thread Safe (2012-Oct-17 22:45:27)这里我们选择非线程安全版</p><p>http://windows.php.net/download/#php-5.4 也可点此处直接下载http://windows.php.net/downloads/releases/php-5.4.8-nts-Win32-VC9-x86.zip</p><p> </p><p>下载RunHiddenConsole</p><p>http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip</p><p> </p><p>下载MySQL MySQL Installer 5.5.28</p><p>http://www.mysql.com/downloads/installer/ 也可点此处直接下载http://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-community-5.5.28.3.msi</p><p> </p><h2>2.安装</h2><h3>安装nginx</h3><p>在D盘下建立名为server的目录 D:server</p><p>解压nginx-1.2.5.zip至D:servernginx-1.2.5</p><p>找到下面的nginx.exe,在命令行下运行nginx.exe (注意目录中不能出现中文字符)</p><p>启动nginx</p><div><div><div>[plain]view plaincopy</div></div></div><p> </p><div><ol> <li>D:servernginx-1.2.5>nginx </li></ol></div><p> </p><p>打开任务管理器,切换到进程选项卡,出现如下进程,证明nginx已经启动。</p><p></p><p>在浏览中键入:http://127.0.0.1,看到下图所示证明nginx正常工作。</p><p></p><p>配置网站根目录</p><p>在D:server下建立www目录</p><p>在www目录下新建一个index.html文件,文件内容如下:</p><div><div><div>[html]view plaincopy</div></div><ol> <li><html> </li> <li><head> </li> <li></head> </li> <li><body> </li> <li>test is ok ! </li> <li></body> </li></ol></div><p> </p><div><ol> <li></html> </li></ol></div><p> </p><p> </p><p>修改D:servernginx-1.2.5confnginx.conf </p><p>location / {
#root html;
root D:/server/www; #注意路径分隔符为斜杠
index index.html index.htm;</p><p>}</p><p>重新加载nginx 配置</p><div><div><div>[html]view plaincopy</div></div></div><p> </p><div><ol> <li>D:servernginx-1.2.5>nginx -s reload </li></ol></div><p> </p><p>在浏览中键入:http://127.0.0.1</p><p>看到 test is ok !说明工作正常</p><p> </p><p>停止nginx:</p><div><div><div>[plain]view plaincopy</div></div></div><p> </p><div><ol> <li>D:servernginx-1.2.5>nginx -s stop </li></ol></div><p> </p><p> </p><p>显示nginx 帮助</p><div><div><div>[plain]view plaincopy</div></div></div><p> </p><div><ol> <li>D:servernginx-1.2.5>nginx -h </li></ol></div><p> </p><p> </p><h3>安装php</h3><div>解压php-5.4.8-nts-Win32-VC9-x86.zip 到D:serverphp</div><div>解压RunHiddenConsole.zip ,复制RunHiddenConsole.exe到D:serverphp</div><div>重命名php目录下的php.ini-development 为php.ini</div><div> </div><div>启动php-cgi</div><div><div><div><div>[plain]view plaincopy</div></div></div><div><ol> <li>D:serverphp>RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c D:serverphpphp.ini </li></ol></div>使用命令</div><div><div><div><div>[plain]view plaincopy</div></div></div><div><ol> <li>D:serverphp>netstat -a </li></ol></div></div><div>出现</div><div>TCP 127.0.0.1:9000 HongJunWen-PC:0 LISTENING</div><div>说明php-cgi启动成功。</div><div> </div><h3>使nginx能将php请求交给php处理</h3><div>修改nginx配置文件</div><div>location ~ .php$ {<br /> #root D:/server/www;<br /> fastcgi_pass 127.0.0.1:9000;<br /> fastcgi_index index.php;<br /> fastcgi_param SCRIPT_FILENAME D:/server/www$fastcgi_script_name;
include fastcgi_params;
}</div><div>重新加载配置文件</div><div> </div><div>在www目录下新建index.php,文件内容如下</div><div><div><div><div>[php]view plaincopy</div></div><ol> <li><?php </li></ol></div><div><ol> <li>echo phpinfo(); </li></ol></div>在浏览器中打开http://127.0.0.1/index.php</div><div>出现php环境信息页面说明配置成功。</div><div> </div><h3>安装MySQL5.5</h3><p>(注意:需要安装.net framework 4.0.30319,已经安装有的,跳过此步) 下载地址:http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe </p><div>打开mysql-installer-community-5.5.28.3</div><div>安装路径选择D:serverMySQL</div><div>数据文件路径D:serverMySQLdata</div><div>其他默认即可</div><div> </div><div>启动mysql</div><div><div><div><div>[plain]view plaincopy</div></div></div></div><p> </p><div><div><ol> <li>D:serverMySQLMySQL Server 5.5bin>mysqld </li></ol></div></div><p> </p><div>用netstat -a 命令查看,出现如下信息,说明mysql启动成功。</div><div> TCP 0.0.0.0:3306 HongJunWen-PC:0 LISTENING</div><div> </div><h3>PHP支持Mysql</h3><div>打开php.ini</div><div>找到以下两行:<div><div><div>[plain]view plaincopy</div></div><ol> <li>;extension_dir = "ext" </li> <li>……………… </li> <li>;extension=php_mysql.dll </li></ol></div>分别将这两行前面的分号去掉,重启php-cgi。使修改后的配置生效。</div><div> </div><div>在www目录下新建mysql_test.php,内容如下:</div><div><div><div><div>[php]view plaincopy</div></div><ol> <li><?php </li> <li>$con = mysql_connect("localhost","root",""); </li> <li>if (!$con){ </li> <li> die('Could not connect: ' . mysql_error()); </li> <li>} else { </li> <li> echo 'Database connected successfully'; </li> <li>} </li></ol></div>$con<div>打开http://127.0.0.1/mysql_test.php</div><div>显示如下:</div><div>Database connected successfully</div>说明php已经支持mysql<h3>一键启动所有服务</h3> 在windows下习惯了wamp的朋友,可能会很不习惯这种一个程序一个程序单个启动的方式,这对我们这种懒人来说,不是个好方法。下面我们写两个脚本</div><div>这两个脚本分别完成所有服务的启动与关闭。</div><div>首先将RunHiddenConsole.exe复制到D:servernginx-1.2.5下</div><div> </div><div>在D:server下新建一个名为start_all_services.bat的批处理文件,此文件内容如下:</div><div><div><div><div>[php]view plaincopy</div></div><ol> <li>@echo off </li> <li>echo starting php-cgi... </li> <li>D:serverphpRunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c D:serverphpphp.ini </li> <li>echo starting nginx... </li> <li>cd nginx-1.2.5 </li> <li>RunHiddenConsole.exe D:servernginx-1.2.5nginx </li> <li>echo starting mysql... </li> <li>"D:serverMySQLMySQL Server 5.5binmysqld" </li></ol></div><div><ol> <li>exit </li></ol></div>(注意:第8行需要加双引号,对于路径中包含空格的情况,需要用双引号引起来。否则会出错。)
</div><div>在D:server下新建一个名为stop_all_services.bat的批处理文件,此文件内容如下:</div><div><div><div><div>[plain]view plaincopy</div></div><ol> <li>@echo off </li> <li>echo stopping nginx... </li> <li>taskkill /F /IM nginx.exe > nul </li> <li>echo stopping php-cgi... </li> <li>taskkill /F /IM php-cgi.exe > nul </li> <li>echo stopping mysql... </li> <li>taskkill /F /IM mysqld.exe > nul </li></ol></div></div><div>需要启动只需双击start_all_services.bat</div><div>需要关闭只需双击stop_all_services.bat</div><div>怎么样,是不是很简单。</div><div> </div><div>至此windows7下nginx+php+mysql的搭建已经完成,现在尽情投入到php的的开发中吧。</div>