1. 电脑弹出这种窗口是什么问题
1)可能是非法关机或其它原因引起的磁盘受损,请修复一下(每个磁盘都修复一下或只修复C)。
系统自带的磁盘修复方法:
具体步骤如下:在我的电脑中选中盘符C 后单击鼠标右键选属性,在弹出的驱动器属性窗口中依次选择“工具→开始检查”并选择“自动修复文件系统错误”和“扫描并恢复坏扇区”,然后点击开始,扫描时间会因磁盘容量及扫描选项的不同而有所差异(按上面的方法做后,会弹出一个框,点是,自动关机后在开机进行修复,Win7选按计划磁盘检查按钮)。
硬盘坏道将导致电脑系统文件损坏或丢失,电脑无法启动或死机。硬盘坏道可以采用NDD磁盘工具或Scandisk来修复。
如果故障依旧,请还原一下系统或重装(还是不行格式化硬盘重新分区重装,在不行就要换硬盘了,或检修一下去吧)。
2)如果上面的方法不能解决,先软后硬,重新安装操作系统,不要安装软件、补丁、驱动等,看看开机还有问题吗?如果没有在逐步的安装驱动、补丁、软件,找出不合适的东西就不要安装了。
请注意:如果还原系统或重装后,安装驱动、补丁、软件等东西时,一定要将影响你这次出事的东西不要在安装上去了,否则就白还原或重装了。
3)硬件方面,如硬盘、内存等是否出现问题,CPU等硬件的温度是否高,如果是硬件问题引起的,建议检修一下去。
PHP 的系列文章让我更加深刻地了解了 PHP 开发人员的世界。我和许多 PHP 程序员交谈过,最令我惊奇的是只有很少的人使用 IDE。大多数程序员使用文本编辑器,比如 Microsoft? Windows? 上的记事本、Emacs 或者 Vim。
我提到的这些文本编辑器(以及我没提到)都是很不错的 —— 我不想讨论哪个编辑器更好。但是,我要强调的是不使用文本编辑器会使您对 PHP 代码有更深的见解。几乎所有人都将 PHP 项目视为只不过是文件目录而已(这种看法十分片面)。现在就让我带您进入 IDE 的世界,向您展示 IDE 能够 —— 或者应该 —— 给您带来什么,并向您介绍七个最流行的 IDE。
什么是 IDE?
简而言之,IDE 为编码工作提供了一站式服务。IDE 包括一个编辑器,在此编辑器内可以编辑代码、调试代码、在浏览器(通常是嵌入式的)中查看代码和签入和签出源码控制。为了支持这些功能,IDE 拥有一套在基本编辑器(比如记事本或者 Vim)中所找不到的特性。当然,您可以通过扩展编辑器来实现这些功能,但是 IDE 在一个精简软件包中囊括了所有这些功能 —— 并都已预配置:
项目
IDE 的一个关键特性是它把一个 PHP 应用程序看作是一个项目,而不仅仅是一组文件。这个概念 —— 项目 —— 维护额外的信息,比如源码控制的配置、用于调试的数据库设置,以及某一关键目录所在位置。
调试
另一个方便的特性是集成调试。使用这个功能,可以在编辑器中设置断点,当 PHP 解释程序执行到这个脚本时就会停止。从断点开始,就可以检查局部变量的值,在代码中诊断问题。在代码中可以使用 echo 语句来检查值或者也可以使用错误日志获得变量的值。
代码智能
PHP 是一种非常规则的编程语言,这意味着它遵循着简单的模式。这些模式不仅使代码易于编写,也使 IDE 在项目中检查代码变得很容易。此外,它们可以通过显示检查结果帮助您编写程序。例如,如果在项目中定义了一个名为 MyClass 的类,在键入关键词 new 时,IDE 会立即提供一个包括 MyClass 作为选项的弹出窗口。当使用那种类型的对象时,IDE 就会显示它的可用方法和实例变量。当开始键入一个函数命令时,IDE 就会显示它的可用参数。公正地说,这是应该使用 IDE 而不是文本编辑器的首要原因。这种代码智能可以有效减少敲错类名、方法名和参数。
类视图
IDE 中的代码智能引擎产生的另一个作用是 IDE 可以产生项目的 类视图。系统不是显示文件,而是显示已经定义的不同的类,而不管它们所在的文件。当单击类时,编辑器访问相应文件并显示相应类、方法或者实例变量。这在大项目中是一种非常好的导航方法。
多语言支持
这里提到的每种 IDE 不仅支持 PHP 而且支持相关语言集:javaScript、Structured Query Language(SQL)、Hypertext Markup Language(HTML)和 Cascading Style Sheets(CSS)。因为 HTML 和 CSS 比较简单,所以 IDE 对它们的支持是最好的。对于 JavaScript 的支持经常会突出语法,但是支持比不支持要好。
源码控制
这里评价的所有 IDE 都支持一些与源码控制系统的连接,允许随着时间维护项目中的文件版本。可以标记文件的特别版本为发布版本,这样在需要撤销改动的时候就可以恢复。在团队环境中使用源码控制系统是很关键的,即使对于个人使用也很重要。当磁盘瘫痪或者客户突然想要以前的版本而不是现在的版本的时候,一个好的源码控制系统就可以发挥作用了。大多数的 IDE 都支持 Concurrent Version System (CVS) 和 Subversion,它们都是开源控制系统。其中一种 IDE 支持 Perforce —— 一款商业源码控制系统。
FTP/SFTP 集成
与源码控制相关的一种功能是在服务器中对于最新的代码使用 FTP 。这比使用 FTP 客户机或者自己打包文件并发送给服务器然后再解包要容易许多。
数据库导航
一个非基本但十分有用的特性是数据库导航。使用这个特性,可以浏览应用程序访问的数据库、找到表格和字段名并返回查询结果。一些系统甚至可以自动写入一些数据库访问代码。
集成 Web 浏览器
一些 IDE 支持集成 Web 浏览器,可以直接导航到正在使用指定的附加参数编辑的页面,这个浏览器可以宿主在 IDE 内,也可以外部调用。诚实地讲,我并不大喜欢集成浏览器,因为我不介意在编辑代码和查看结果这两个独立的应用程序之间切换。但是我知道它确实有一定的作用,但您不必一定要使用它。
片段
在所有这些 IDE 中我发现的最后一个特性是对于整段和定制代码片段的支持。片段 是完成小任务(比如在一些输入中运行常规表达式、连接到数据库和查询数据库)的小部分代码。
以上总结了目前从购买的或者开源的 IDE 中可以预期的核心特性。接下来,将会介绍一些流行的 IDE,展示一些 IDE 图片,并将解释它们所支持的功能及其成本。
回页首
Eclipse
在 Eclipse 开发平台中有两个插件支持 PHP。第一个 PHP IDE 项目是 Eclipse Foundation 项目,这意味着它在 Eclipse 许可范围内发布,并使用 Eclipse Foundation 工具和方法开发。
另一个是 PHPEclipse,它是独立开发的。因为使用 Eclipse,所以这两个插件都可以在三大操作系统中运行:Windows、Linux? 和 Mac OS X。您可以只下载这两个插件(如果已经使用 Eclipse),或者下载包含所需要的全部内容的 pre-fab 版本。
这两个插件都支持核心 IDE 特性。特别是代码智能特性,它十分强大,可以在需要的时候弹出并显示所有需要的类、方法和参数信息。
图 1 显示了 Mac OS X 上运行的 PHPEclipse。左边是在项目中文件的项目视图。下面是类视图,显示所有已经定义的类。中间是代码。可以同时在多个选项卡中打开多个文件。右边是调试和浏览的面板。这是常用的 PHPEclipse 用户界面。
图 1. OS X 上的 PHPEclipse
OS X 上的 PHPEclipse
图 2 显示了来自 Eclipse Foundation 的 PHP IDE 项目插件。
图 2. OS X 上的 PHP IDE 项目
OS X 上的 PHP IDE 项目
如果您不能看出区别,没有关系。这两个插件看起来确实非常类似,因为它们都依靠 Eclipse 平台呈现代码浏览和智能特性。Eclipse 插件 GUI 能够保持连贯性是件很好的事情。
我没有发现哪一个插件可以把您锁定在某一个 Eclipse 项目中。您可以经常地将一个插件换成另一个插件。在我有限的测试中,我更喜欢 PHP IDE 项目插件,因为我感觉它集成得更好,而且代码智能特性的性能似乎更快捷。试试这两个插件,看看您更喜欢哪一个。
这两个插件的缺点是 UI 不是为 PHP 量身订做的,原因是 Eclipse 可以用于几乎所有的编程语言。结果是,Eclipse 的术语最初有些另类。如果您刚开始学习 Eclipse,那么这些插件的学习比其他 IDE 更难一些。但是,如果已经了解 Eclipse,那么您就能比较快地熟悉 PHPEclipse 或者 PHP IDE 项目。
Eclipse 和这些插件的最大优点是什么?它们是免费的,而且稳定、可靠。哦,我提到它们是免费的吗?
回页首
Komodo
下一个要介绍的是 ActiveState 的 Komodo IDE。这个 IDE 在 Windows、Mac OS X 和 Linux 上运行,并支持通用的开源语言 —— Perl、PHP 和 Ruby。代码智能引擎非常可靠。它扫描所有语言安装找到定制扩展,比如 PEAR 模块。在项目方面,它支持与 CVS、Subversion 和 Perforce 的集成,也允许直接向服务器 FTP 传递代码。
图 3 显示了在 Windows 上运行的 Komodo。左边是类视图,右边是项目视图。中间的主要部分是代码视图。下面是调试用的断点、命令输出等等。对于所有这些系统,都可以根据需要定制 UI 。
图 3. 在 Windows 上运行的 Komodo
在 Windows 上运行的 Komodo
Komodo 是一个商业产品。在我写作本文的时候,这款 IDE 有个人版(US$29.95)和专业版(US$299.95)两个版本可选。它的一个独特的特性是常规表达式调试器。不管您是常规表达式的新手还是已经开始涉足高级常规表达式特性,这点购买的投入都是很值得的。
它的缺点是没有数据库集成(至少我没有找到),而且我还遇到了代码智能不总是在想要的时候弹出的小问题。但是,总的来说,Komodo 还堪称是一款健壮的、特色丰富的、可靠的 PHP IDE。
回页首
PHP 设计器
PHP 设计器与其他 IDE 不太相同。当然,它支持有限的代码智能。但是,它更集中于 PHP Web 应用程序的设计方面。这一点在其集成的浏览器上可见一斑,该浏览器特别地采用了像素标尺用于帮助在页面上定位元素。
图 4 显示了运行的 PHP 设计器。
图 4. 在 Windows 上的 PHP 设计器
在 Windows 上的 PHP 设计器
PHP 设计器中的 PHP 的代码智能和调试特性不是很显着,而对 HTML、CSS 和 JavaScript 的代码智能支持上要相对更强一些。PHP 设计器介于程序员使用的 IDE (主要侧重于代码)和 Adobe Dreamweaver (更侧重于设计)之间。如果您正在寻找这类中间产品,那么 PHP 设计器很值得考虑,因为 IDE 对于个人使用是免费的,而其专业版也只需 US$55。
回页首
PhpED
NuSphere 的只用于 Windows 的 PhpED 在所有这里介绍的 IDE 中特性是最丰富的。它有一个很好的内部调试器,并为了更容易地访问页面调试而把调试工具条放到了 Microsoft Internet Explorer?之内。
图 5 显示了在 Windows 中使用 PHPEd 开发 PHP 应用程序。在最左边是项目的文件视图。右边紧挨着的是类视图,最右边是代码视图。下面是输出状态。您可能已经注意到,所有这些 IDE 都遵循着相同的基本设计风格。
图 5. 在 Windows 中的 PhpED
在 Windows 中的 PhpED
PhpED 的突出特性包括一个很棒的调试器、优秀的数据库访问、较好的代码智能特性以及集成的 PHP 帮助。PhpED 的价格范围从基础版本的 US$119 到专业版本的 US$495。另外还有试用版本可用。
回页首
PHPEdit
来自 WaterProof Software 的 PHPEdit 感觉像是应用于 PHP 的 Microsoft msdev 环境 —— 这是个不错的事情。PHPEdit 是仅用于 Windows 的 IDE,很容易设置。它甚至还有 PHP 的版本。在 PHP、CSS 和 HTML 的代码智能方面它做得很好,但是却不提供对 JavaScript 的代码智能的支持。图 6 显示了运行的 PHPEdit。
图 6. 在 Windows 中的 PHPEdit
在 Windows 中的 PHPEdit
为了便于部署,PHPEdit 可以连接到 CVS 和 Subversion,以及 FTP 和它自己专有的 ezDeployment 系统。除了代码智能特性,为了加速开发,这款 IDE 有一个极好的代码示例整体模板库,您还可以向库里面添加内容。PHPEdit 的评估版本可以免费使用,要得到正式版本,需要 US$89。
回页首
Zend Studio
最后,我们谈谈 Zend Studio,它被最后列出只是因为它以 Z 开头。它可能应该是您第一个想到的。为什么?因为它来自 Zend —— PHP 幕后的精英团队。 而且它真的是很不错。它运行于三大系统:Windows、Mac OS X 和 Linux。而且绝对能够提供您所需要的一切:PHP V4、PHP V5 等等。它的下载需要花很长时间,但是非常值得。
作为 IDE,Zend Studio 是最好的。它提供所有想在内置库和定制代码中拥有的代码智能特性。它还有非常好的调试功能,而且极易设置。要把代码放到存储库(repository)中,Zend Studio 会连接到 CVS 和 Subversion。要把代码放到服务器上,有集成 FTP 可以使用。Zend Studio 非常适合 Macintosh,如图 7 所示。
图 7. 在 Mac 上的 Zend Studio
在 Mac 上的 Zend Studio
在其他一些 IDE 中,代码片段是内置的以使代码编制更为容易。这款 IDE 也直接集成了数据库以给出可用的表格和字段。
Zend Studio 的标准版需要 US$99,专业版需要 US$299。我在这里提到的某些特性在标准版本中没有包含。Zend Studio 试用版本可以免费使用。
回页首
结束语
有许多极好的 IDE 可供选择 —— 其中一些甚至是免费的 —— 您尽可以选择一个试用一下,如果您是专业人员,就更应如此。您可能需要支付公司或者个人的顾问费用,也可能要花钱购买必需的商品。如果考虑使用 echo 调试代码对比使用集成的调试器所花费的时间,IDE 的购买价格绝对会物有所值。
3. php为什么使用hessian和curl
这个应用可以使用JavaConfig完成配置。我把它切分为下面几个部分:
ServicesConfig(服务配置)
无需扫描组件,配置真的非常简单:
@Configuration
public class ServicesConfig {
@Autowired
private AccountRepository accountRepository;
@Bean
public UserService userService() {
return new UserService(accountRepository);
}
4. 如何评价 GitHub 开放 unlimited private repositories
Github的基本功能:
Repository:你和我一起做“知乎首页”,“知乎首页”就是Repository,即项目或者”未来武器T2级425mm磁轨炮“之类,怎么叫随你,你只需知道Repository是个放项目的地方就行。有时候会出现Repositories,是多个Repository的意思。
Fork:我们把制作“知乎首页“的工作分开,你负责美工,我负责前端开发,但我们还需要数据服务器高手。你找来了一位php大牛,这位大牛很快搞定了服务器端,闲来无事,就看了看我的前端代码,一看,“我靠,这怎么一点也不语义化呢?全是尼玛的清一色的<div>啊,将来做交互js还搞不搞dom了……”于是这大牛在Repository中找到了我写的“.html”,Fork了一份,也就是授权拷贝。
Branch:Fork之后,在大牛的Github上出现了一个同样叫做“知乎首页”的Repository,但是这个Repository是复制品,只归他,这就是他的Branch,也就是分支。
Pull Request:大牛做完了一份全新的高端.html,点了Pull Request,也就是推送请求。我接受了,看了一眼,顿时惊讶爆表,“中国足球——高,实在是高!”
现在你懂了,Github的结构是Repository-Branch-(获取/推送)文件。你又发现Github可以比较两个文件的异同,新增的部分用绿色标记,删除的部分用红色标记。Pull Request还可以控制,甚至可以合并Branch,这就是团队合作利器啊,真乃高大上也,手痒了吧?心动了吧?
请注册Github并登录。
下载客户端并登录,客户端负责你硬盘上的数据与Github服务器数据的交互,然后设置存储目录。为了表现你的才华,你决定将此目录命名为“诸神之爹”。
既然有这么多的国外开源项目,我们国内哪有不自主的道理。必须要实践一下这个顶好赞的Fork功能。现在你来到了Fadeoc/frontend · GitHub,你看到了这是用户Fadeoc的一个叫做“frontend”的Repository,你笑了,这家伙学习前端知识不过十天,代码一片渣,竟然有的代码里只写了“薯仔”和“二狗子”几个汉字。你点了一下右上角的Fork,然后clone in desktop,保存到“诸神之爹”,哇!文件已经在你电脑里了,完全免费耶!+10086!
一个小时后,你对Fadeoc的渣代码颇有心得,决定帮他改良,不然他这项目就完了。你改好之后,Pull Request,这丫的竟然说你的代码太渣,不吸收。贱人!老子自己做,抢你市场份额!
你点了右上角自己头像后面的+号,选择了第一个New repository,即新建repository,并且起了个名字,叫做“完爆Fadeoc”,然后点击绿色按钮set up in desktop,弹出保存框,选择“诸神之爹”。于是“诸神之爹”下出现了一个“完爆Fadeoc”的文件夹。
你自己写了一份“神爹首页.html”,把它放在了“完爆Fadeoc”文件夹下。
你打开了客户端,看到客户端界面中master Branch(主人分支,这名字太云端了)出现了一个Uncommitted changes,即未提交的变动,也就是你刚写的“神爹首页.html”。你点开show按钮,在summary(摘要)的部分添上“滚你丫的Fadeoc”,在Description(细节描述)的位置是没必要写的,但你还是决定添上“爆你菊花”四个大字。然后选择“Commit to 你的用户名”。
为了把这个提交上传到Github上让贱人Fadeoc看到,你点击了客户端右上角的后面显示了一个“+1”的Sync,即同步,过了几秒,Sync前的两个曲线箭头停止了转动,同步成功了,“+1”消失,表示一个文件成功上传。
你来到Github,刷新自己的个人页,“完爆Fadeoc”这个Repository出现在页面上,点开它,在里面你看到了”神爹首页.html”。
为了让这个项目的初始目的更加浅显易懂,你决定添加一个Readme.txt,虽然从前下载的N多软件的文件夹里总是有一个Readme.txt,你一个都没打开过。但在圈里混,就得混的人模狗样的,于是你在“完爆Fadeoc”下新建了一个Readme.txt,里面写上,“Fadeoc,没错,说的就是你,看我口型,你个贱人!”
同样使用客户端commit,然后sync,过了几秒,刷新github,你看到又多出了一个readme.txt。而且在下面又多出一个文字显示框,里面显示的就是readme.txt里面的内容“Fadeoc,没错,说的就是你,看我口型,你个贱人!”,避免了Fadeoc这个贱人不想打开readme.txt也就看不到你亲切问候的尴尬局面。Github真是贴心呐。
你复制了这个Repository的地址,Email给了Fadeoc。
Fadeoc不是那么容易被打败的,于是他Fork了你的Repository,修改了readme.txt,然后pull request,你看到fadeoc新生成的branch下的readme.txt被改成了“你才是贱人”。你拒绝了合并请求。
Fadeoc再次pull request,readme.txt改成了“敢不做恶吗?”
你有点烦了,这他妈的怎么才能不让他pull request,将来大项目N多陌生人菜鸟pull request烦不烦,就不能不开源,转私有吗?你终于找到了Github的升级服务,你笑了,将这个Repository从Public转成了Private。Fadeoc肯定会继续pull request,得不到你回应的他只会渐渐被复仇的怒火烧尽理智,可是,谁在乎呢?
Github还有更多细节功能,在使用过程中,你会慢慢发现,慢慢学会。但是不管如何,现在你会使用Github的基本功能了。
5. SVN外部定义怎么解决
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,
本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。
工具/原料
Subversion服务器程序安装包
Subversion的Windows客户端TortoiseSVN安装包
方法/步骤
1软件下载
<1>、下载Subversion服务器程序
到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0 或者 Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.7.12.msi 。
<2>、下载Subversion的Windows客户端TortoiseSVN。
TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi。
2svn服务器和客户端安装
<1>、安装Subversion,直接运行Setup-Subversion-1.5.3.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
<2>、安装TortoiseSVN,同样直接运行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
<3>、安装svn的客户端程序,需要的话还可以安装svn的语言包,注意语言包的版本也必须与客户端程序的版本一致
3建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svndemo\repository
就会在目录E:\svndemo\repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
步骤阅读 .4SVN配置用户和权限
来到E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd
然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。
步骤阅读 .5运行独立服务器
在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。
6初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/trunk”
在Import Message中输入你的日志信息
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。
步骤阅读 .7基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working ,我们可以比较工作拷贝的文件和版本1的区别。
最后,所有的内容都已经录制为动画文件,大家可以参考。
关于本教程大家有什么意见,可以这里讨论 。
如果更新文件以后,有两个人或者多个人同时修改了某个文件的某个位置,是否冲突,(一般不会这样子,因为上传的版本是可以编译通过的,而且每个人负责自己的模块,不会多人独立修改同一个文件,别人也是先更新,后上传修改,,,,)
开发者习惯性动作。早上上班第一件事就是更新svn版本库,再开始一天的工作。
晚上下班,或者其他时候要上传东西可以直接上传因为你负责的东西没人去修改。
冲突是怎么产生的呢:因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。最好不要多人同时修改一个文件,公用的文件,更改之前要和大家沟通一下,或者解决冲突 呵呵
先更新,没有冲突,再提交。有冲突,解决冲突再提交。否则也提交不了。
对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。解决冲突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
更新-解决冲突-删掉以下三个文件-提交(如果自己没有修改的文件有冲突,删除再更新即可,自己修改的文件解决冲突)
test.php.mine 是冲突前自己的文件
test.php.版本号 是冲突前本地的版本文件
test.php.服务器的版本号 是冲突后服务器版本文件
END注意事项
如果修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。
更新文件,如果出现冲突的情况,打开冲突文件test.php会看到类似以下的内容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。
客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件
test.php.mine 是冲突前自己的文件
test.php.版本号 是冲突前本地的版本文件
test.php.服务器的版本号 是冲突后服务器版本文件
提交的时候,把这三个文件删除掉就可以提交了。
产生覆盖的原因。
a),在修改冲突文件test.php时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。
b),把test.php.mine中的内容直接到test.php文件,这样也会产生代码覆盖。
上面二种情况都是我亲眼看到新手这样操作的,要避免这二种操作方法。
6. 如何在 Ubuntu Linux 14.04 LTS 上安装php7
1、前不久我向大家介绍过XP下硬盘安装Linux乌班图12.04桌面版的方法,今天向大家介绍一下XP下硬盘安装Ubuntu14.04的方法。我用的是长期支持版Ubuntu14.04LTS,而没有使用UbuntuKylin中国版。注意:用wubi.exe这个文件简单安装的是软件而不是真正的双操作系统。真正的双操作系统不是软件安装,也不是在虚拟机里安装,只有用硬盘、U盘和光盘安装的系统才是稳定的。2.下载Ubuntu镜像文件到官方网站:/download/desktop,下载Ubuntu14.04LTS。本次下载的是14.04版,下载到的文件为:ubuntu-14.04-desktop-i386.iso。并将此文件放到D盘下。(我的E和F盘删除后装了12.04)3.解压与配置Ubuntu镜像文件将ubuntu-14.04-desktop-i386.iso中.disk目录、casper目录下的initrd.lz和vmlinuz文件解压到C盘根目录下,ubuntu-12.04-desktop-i386.iso文件也复制到C盘。4.下载GRUB4DOSGRUB4DOS是一个优秀的多系统引导软件,它可以很方便的引导各种操作系统,比如DOS、Windows、Linux等。本次所用的版本为:GRUB4DOS-0.4.4。5.解压与配置GRUB4DOS将grub4dos-0.4.4压缩包中的grldrgrldr.mbrgrub.exe和menu.lst四个文件解压到C盘根目录下,然后修改menu.lst文件,在末尾添加如下内容:titleInstallUbuntu14.04root(hd0,0)kernel(hd0,0)/vmlinuzboot=casperiso-scan/filename=/ubuntu-14.04-desktop-i386.isoroquietsplashlocale=zh_CN.UTF-8initrd(hd0,0)/initrd.lz6.修改boot.ini文件编辑C:\boot.ini文件,在末尾添加:C:\grldr="SetupUbuntu14.04"在这个地方要注意,查看文件还要把系统隐藏的选项勾除。记得将boot.ini属性“只读”的勾去掉。7.进入Ubuntu的liveCD模式重新启动电脑,选择“SetupUbuntu14.04”选项,进入Ubuntu的liveCD模式。8.卸载/isodevice挂载点通过硬盘安装Ubuntu,系统会自动挂载iso所在的分区,此处为C盘,在/isodevice目录下可以看到C盘的所有文件。如果直接安装Ubuntu,会有:不能卸载/isodevice挂载点的提示,导致安装失败。当然了安装的时候一般是断网的,也不要勾选一些在线更新的选项。因此必须首先卸载/isodevice挂载点,在终端中输入:sudoumount-l/isodevice此时,可以到/isodevice目录查看一下,如果目录为空,则卸载成功。如果提示不是命令,肯定代码的三个空格没打上。如果安装到一定长度又提示不能卸载/isodevice挂载点,那就是你输入代码后没回车,一定要回车运行才对。9.开始安装Ubuntu运行桌面上的“安装Ubuntu14.04”,进入安装界面,有三个安装方式选择最后一个手动指定模式。如果你的电脑中有其他版本的ubuntu,选第一项“删除Ubuntu12.04重新安装”也可以。一般都是直接点击“前进”按钮,当划分分区的时候,一定要选择“手动指定分区”。10.手动指定分区。当出现“分配磁盘空间”的界面时,选择:“手动指定分区”,然后会看到整个硬盘的文件系统分配情况。列表中显示的“/dev/sda1”、“/dev/sda5”、“/dev/sda6”和“/dev/sda7”,分别代表Windows下的C、D、E、F盘4个分区。如果我们事先把E、F盘都删除了,那么最后一个就是很大的空闲空间了。这里可以重新编辑分区,也可以将原Ubuntu分区全部删除变成一个空闭空间。选中列表中最后一项的“空闲”,点击“添加”按钮,打开“创建分区”对话框。在“用于:”中选择“交换空间”,然后在“新建分区容量”中输入:10000。交换空间相当于Windows中的虚拟内存,一般为内存的2倍。继续选择最后一项的“空闲”,点击“添加”按钮,打开“创建分区”对话框。在“用于:”中选择“Ext4日志文件系统”,“新建分区容量”中保留剩余的磁盘空间;然后在“挂载点:”中选择“/”,也分配10G,剩余的空间大概80G全部分给“/home”。(/代表根分区,/home代表用户区)最后点击“现在安装”按钮,进行安装。11.安装Ubuntu安装过程大约需要10分钟多一点,安装完成后重启电脑。建立宽带连接后,到软件中心下载需要的软件,删除不必要的软件。享受Ubuntu时尚、直观、简便的界面。快速,安全和数以千计的应用程序可供选择,Ubuntu给你一个清新简单的体验。不需花一分钱,享有5年的安全升级。Linux乌班图体现了开源、免费、自由开放的精神。
7. 如何把php5.4换成php7
在windows上把php5.4文件夹下文件删除替换成php7的文件就好了(要下载)
在Ubuntu下
sudoadd-apt-repositoryppa:ondrej/php
sudoapt-getinstall-ylanguage-pack-en-base
sudoLC_ALL=en_US.UTF-8add-apt-repositoryppa:ondrej/php
sudoapt-getupdate
(如果是apache再运行下面的)
sudoapt-getinstallphp7.0
sudoapt-getinstallphp7.0-mysql
(如果是nginx再运行下面的)
sudoapt-getinstallphp7.0-fpm
sudoapt-getinstallphp7.0-mysql
然后重启php和服务器就好了