我很快就会加入一个已经开发了几年的PHP项目.这将是巨大的,稀疏文档,许多文件,成堆的代码,没有合理的质量水平是预期的.
您将如何收集尽可能多的有关正在发生的事情的信息?
自动加载不被预期的,至少不广泛,所以 inclued可能做好揭示的相互依赖关系.
使用phpDocumentor摘要项目文件可能会了解存在哪些类/方法/函数.
也许phpCallGraph用于方法/函数关系.
使用XDebug分析一些通用用例, 以了解层次结构和概念.
检查重要的日志文件...检查警告,弃用的用法,错误.
也许提取所有注释并将它们处理成html文件.
没有涵盖单元测试,数据库,....
你会怎么做?您对提到的工具有什么经验可以充分利用它们?
您可以假设任何必要的条件.
提取哪些统计信息可能有用?
有人有这些工具的经验吗?
编辑从"PHP工具的质量检查":
来自Bryan Waters的编辑2回答:
检查Apache日志和Google Analytics数据,找出最常请求的URL,然后分析使用XDebug分析和KCachegrind等工具发生的情况.
请参阅他对具体技术的回答.
为PHP项目设置部署/构建/ CI循环 - 由Pekka建议
编辑3
刚刚发现这篇由Gabriele Santini撰写的PDF文章 - "代码的统计分析 - 收听你的PHP代码".这就像一个金矿.
大家好!最近我面临着对我的一些项目进行持续集成的需求.而且,令我惊讶的是,存在许多用于此目的的工具,例如CruiseControl,其插件PhpUnderControl,Xinc(用PHP编写),Hudson具有许多功能等.另外,我研究了这个问题,据我所知,安装和配置这样的工具需要相当长的时间.因此,花费大量时间设置所有内容并了解该工具缺少一些关键功能将是非常令人失望的.我向那些对此事有经验的人发表讲话,并提出一些合理的建议.谢谢!
更新于26.04.2017:多年过去了,我仍然使用CI,但放弃了Jenkins,转而支持Gitlab CI:看起来更简单,CI作业可以直接在项目存储库中配置.我相信,与Docker一起,它是一个非常强大的解决方案,可以为几乎任何类型的项目量身定制.
在开发PHP应用程序时,最好有一个你开发/测试的服务器,然后是一个实时服务器,一旦它准备好就放好了.
好的,但是怎么样?
如果您通过托管公司托管,您如何设置自己的开发服务器进行测试,模仿所有LAMP设置作为您的实时服务器?因为如果它们不同,那么测试一个与现场不同的那个,就会失败了吗?
是否更好地通过同一个托管公司使用另一台服务器并要求他们使开发和实时的服务器具有完全相同的设置?
还有什么是用于在"开发服务器"中检查"实时服务器"文件的最佳工作流程,然后将它们重新检入实时服务器?
谢谢!!
我正在使用PHPUnderControl(PHP的Cruise Control插件)作为PHP开发的CI服务器.我使用Ant来构建我的项目.PHPUC的主要用途是
Hudson与PHPUC的优点是什么?我听说它的开发速度越来越快,日益广泛使用.
我目前对我的团队采用的部署方式感到非常困扰......这是非常老式的,我知道它不能很好地工作.但我不知道如何改变它,所以请提出一些建议......
这是我们目前的设置:
当前部署适应
非常令人讨厌的是,每当我们上传文件时,就像同步作业一样,同步的文件将显示为已损坏,因为它只有一半上传.另一件事是,每当出现部署故障时,恢复将非常困难.这些基本上是我面临的问题,我该怎么办?
此外,由于第一个网络服务器上的文件需要随时与其他服务器同步,因此cronjob就是出于此原因.
P/S:对不起,我忘了提到,SVN服务器是托管的.我们对它没有太多的控制权,但我相信我可以编辑钩子......
我想开始自动化更多的Web开发过程,所以我正在寻找一个构建系统.我主要在Mac OS X上编写PHP应用程序,并通过FTP部署Linux服务器.我的很多客户都有基本的托管服务提供商,因此通常无法访问其服务器的shell访问权限,但通常会出现远程MySQL访问.这是我想用构建系统做的事情:
我意识到自动化需要做很多工作,但我认为这是值得的.那么开始这条道路的最佳方式是什么?是否有可以处理构建和部署的系统,还是应该搜索单独的解决方案?你会推荐什么系统?
大家好,您如何部署网站?例如:我用php框架开发了一个站点,并使用我的所有本地配置在git的版本控制下。当我要将其放置在Web服务器上以测试或更新实时应用程序时,我必须将其复制到服务器上,更改配置文件,删除测试内容等。
那么,您如何处理这些任务呢?我考虑过使用ant并为此编写一个部署脚本。是否已经存在针对该“问题”的通用解决方案。.因为我不认为我是唯一需要这种东西的人。
问候
我的团队目前有一个开发Web /数据库服务器和一个实时部署Web服务器和一个实时数据库服务器.我们将SVN与存储在开发服务器上的存储库一起使用,但问题在于我们的部署过程.
目前,当我们需要将更新部署到实时应用程序时,我们只需使用SFTP从存储库传输到实时Web服务器,然后修改实时服务器上的数据库以反映开发数据库.这是一个非常缓慢的过程,因为我们还缩小了所有javascript和CSS文件.
我已经使用Capistrano进行Ruby和Cruise Control for java但我从来没有使用任何PHP.如果已经存在某些东西,我宁愿不必建立自己的东西.有谁知道什么?
嗨伙计们 - 我的基于php的网站维护有问题.我的网站建立在Zend框架之上.当我希望在线上传新的副本或版本时 - 在上传期间,特别是当模型和控制器等关键文件上传和重写时 - 该网站将无法理解.
有没有办法上传网站而不必经历这个问题?
========
我想说的是,我的更新非常规律,在这种情况下可以说一周一次或两次.
我只是想检查是否有人知道使用PHP为基于Web的项目提供的任何托管连续集成服务?
我一直在寻找,但大多数是针对Java,Ruby和一些iOS/Android.我正在恢复与Jenkin建立自己的CI服务器.我猜在PHP方面对CI的需求不足以证明托管服务能够支持现成的服务.
我有一个大型的PHP项目,不同的开发人员在同一个项目上工作.如果另一个开发人员试图运行相同的项目,那么php文件中的更改(例如语法错误)可能会导致500内部服务器错误 - 让其他开发人员对错误来自何处无能为力.我需要下载一些批处理文件来检查整个项目并显示项目中每个文件出现的行号和错误,而不仅仅是在一个文件中,例如当使用php -l filename时 - 我希望它是php -l项目
可能重复:
用于PHP项目的持续集成的推荐服务器
嗨,
我想尝试持续集成.我主要是用Zend Framework编写PHP应用程序来部署在linux服务器上.
我看了看Hudson,Phing,Ant,但是所有这些工具看起来都是同时做同样的事情而不是.
你有任何反馈和良好的教程来开始吗?
最想要的功能是检查PHPUnit的测试,改变SETENV在.htaccess文件中设置的功能,运行脚本萨姆,调整重写URL设置(我使用本地的虚拟主机),统计,通知等功能,您认为要领.
php ×11
deployment ×3
automation ×1
build ×1
debugging ×1
hudson ×1
inclued ×1
interpreter ×1
jenkins ×1
maintenance ×1
mysql ×1
profiling ×1
svn ×1
unix ×1
upload ×1
web ×1
xdebug ×1