|
|
1
6
我一直在使用Zend平台(我知道你在问Zend Server,我马上就到了),并且非常热衷于Zend Server提供的错误报告工具。 无论何时发生错误或引发异常,Zend Server都会尽可能多地存储有关它的信息(例如,使用了哪些请求参数、错误发生的位置、时间、错误消息、堆栈跟踪等)。 我真的更喜欢收到这样的错误信息,而不是客户说:“网站不工作,请修复它”。 当将Zend Server与Zend Studio结合使用时,Zend Debugger已经预装(但您也可以自己安装)这一点非常好。 它还附带了一个php java桥(您的java类可以在php中使用),但我不需要它。 如果您的web应用程序中已经有一个基于php的错误报告解决方案,或者没有使用这个解决方案,也没有使用java桥,我想说,如果您在自己的apache安装上使用Zend Server(只要您知道如何正确配置它),这并没有什么区别。 至少这是我的意见/经验。 我一直在使用免费的Zend平台开发者版。如果我必须为Zend平台/服务器付费,我想我不会使用它。但这确实取决于项目。 |
|
|
2
4
Zend Server不仅仅是一个经过测试和支持的堆栈。Andre谈到了Zend Server中的一个特性,即监视。监视监视PHP脚本在特定条件下的执行情况,如果超过某个阈值,则会记录该请求的上下文,以便您稍后进行检查。当我在现场与有应用程序问题的客户合作时,我要做的第一件事就是安装Zend Server并打开监控。几分钟之内,我通常至少对他们的问题有一个很好的理论。 在Zend Server 5中,随着代码跟踪功能的引入,这一功能被提升到了一个更高的水平,该功能对请求过程中几乎每个单独的函数/方法调用进行运行时检测。这有点像是在运行时完成的调试和分析的组合。在许多情况下,可以诊断生产环境中的问题,而无需实际复制问题。 您还可以使用其他一些功能。工作队列对我来说是一个很大的队列,我非常广泛地使用它。我有一个例子说明如何在 Do you queue? Introduction to the Zend Server Job Queue 还有两种不同的缓存特性,PHP Java桥(Andre也提到过)和Optimizer+,后者是可用的最快的操作码加速器之一。 |
|
|
3
3
话虽如此,功能也相当不错@Keven已经提到了作业队列。这对我们来说太棒了,因为我们可以非常轻松地卸载异步运行的各种任务,并保持主请求进程正常运行。例如,每当发生某些类型的事件时,我们的一个应用程序就会在bug跟踪器中创建任务。由于这是由web服务完成的,而且bug跟踪器的速度非常慢,所以这可能需要几秒钟的时间。然而,我们没有让应用程序的用户等待,而是将作业排队,让它在后台运行。同样,我们的标准电子邮件类使用作业队列,而不是让用户在代码与SMTP服务器对话时等待。所有这些甚至都没有涉及到在生成大型报告、运行数据库完整性检查、重建缓存等方面的有用性。
当然,正如@Andr提到的,这里有一些非常好的调试、跟踪和事件报告功能。 还有一些很好的功能用于部署和回滚,这对于业务关键型应用程序非常重要。我打算有一天尝试一下,但现在,我仍然在使用在使用ZS之前组装的工具。 许多
另一个例子是,我们在开发站使用Mac,但出于对与古老硬件兼容性的极大误导,Zend选择将Mac版本(仅用于开发)作为32位版本发布,而这些硬件往往是由那些在PHP服务器软件上投入数千的专业开发人员运行的 . 因此,我们不得不开发一个32位的应用程序,它可以在其他任何地方以64位运行。这在我们的应用程序中导致了很多错误和失败的自动化测试,而这恰恰扼杀了ZS的核心目的之一,ZS是跨开发、测试、暂存、QA和生产环境的相同软件堆栈。我试图说服他们改变这一点,但他们很快开始忽视我。
其他例子包括:对通过API发送到Zend Monitor的定制事件处理不当,php二进制文件的php cli包装器在被shebang行触发时在Mac上中断,缓存工具中完全(完全)缺乏运行状况和性能报告(尽管他们说这在ZS 6中正在改变),还有令人尴尬的不完整文件。我可以继续。。。。 现在,这些不利因素,以及浪费的时间和资源,显然并没有超过我们的利益,但就我们花费的钱而言,我肯定期望更多。 |
|
|
4
0
Zend Server web控制台中显示的跟踪功能使您能够像DVD一样查看应用程序的执行历史,并跟踪单个有问题的请求以快速查明根本原因。 |
|
|
5
0
我在大型IBM服务器(IBMi系列)上运行PHP应用程序,这些应用程序使用COBOL运行了20、30年。所以基本上Zend Server是我所知道的唯一一个在IBMi上工作的PHP平台,或者至少和它一样健壮。这些系统是至关重要的。基本上,大多数保险公司、银行、股票、甚至学区都在这类系统上运行。因为您可以运行Zend Server之类的东西,所以您可以构建一个RESTAPI,以现代方式公开这些古老的系统,并允许面向服务的体系结构。这就是我一直在研究的,也是一个事件驱动系统,它利用PHP CLI和Zend作业队列将数据推送到第三方。在这种情况下,我们将数据从我们端同步到供应商端。 IBMi上的Zend Server是使用nginx前端为静态资源(CSS、图像等)设置的,并使用FastCGI进程为动态PHP设置的,因此这是一个非常强大的设置。这无疑为现代化打开了旧体制。 |
|
|
6
0
我发现,使用Zend Server减轻对PHP软件版本的管理以及我所有服务器上的各种扩展是它最大的优势。 此外,能够通过用户输入和环境变量找出问题的根源,并深入到特定的PHP函数,比浏览PHP错误日志(尤其是在高流量服务器上)更有帮助。 如果有开源的替代方案,我很想知道!我不太高兴Zend停止了免费版本。 |