草庐IT

PHPUnit 测试和 Doctrine,连接太多

对于ZF3和Doctrine的PHPUnit测试,我面临着“太多连接”的问题,因为我在每次PHPUnit执行时执行约200个测试。我已经找到了一些关于堆栈溢出的问题和答案,但这些都不起作用。我的设置:ZF2/ZF3、Doctrine2和PHPUnit。我有一个用于所有测试的基本测试类,setUp和tearDown函数如下所示:publicfunctionsetUp(){$this->setApplicationConfig(Bootstrap::getConfig());Bootstrap::loadAllFixtures();if(!static::$em){echo"initem"

nginx - Xdebug 设置 cookie XDEBUG_SESSION 次数太多

我使用PhpStorm、xdebug和nginx+php-fpm进行远程调试。当我在请求GET参数中传递XDEBUG_SESSION_START=my_ide_key时,Nginx返回502错误代码(BadGateway)。同时,我在IDE中的代码断点工作正常。当我不传递XDEBUG_SESSION_START参数时,nginx会以格式良好的HTML和代码200进行响应。但是很明显,没有此参数就无法进行调试。在nginx错误日志中,我看到关于从上游收到的大header的通知。我尝试转储php-fpm和nginx之间的通信,只是一个不同的东西是一个Set-Cookieheader:Set

php - 太多的变量与数组

从性能角度(CPU使用率等)来看,哪个更好?使用太多变量或单个关联数组或通常使用数组?这个:$ld_linkdump_title=get_option('ld_linkdump_title');$ld_linkdump_widget_title=get_option('ld_linkdump_widget_title');$nw_option=get_option('ld_open_nw');$ld_open_branding=get_option('ld_open_branding');$ld_stylesheet_option=get_option('ld_stylesheet')

fastcgi - php-fpm 打开的文件太多

我正在运行nginx作为前端和php-fpm作为后端来处理php文件。我在/var/log/php-fpm/error.log上收到“太多打开的文件”错误。我已经将硬和软ulimit增加到65535,但似乎无法解决问题。/var/log/php-fpm/error.log[17-Sep-201214:43:51]ERROR:failedtopreparethestderrpipe:Toomanyopenfiles(24)[17-Sep-201214:43:52]ERROR:failedtopreparethestderrpipe:Toomanyopenfiles(24)ulimit-n

php - 每个用户有多少 session 变量被认为太多了? - PHP

如果我有一个用户登录和注销的网站,并且每个用户使用了4个session变量,这将如何影响我的网站?假设我有100,000个活跃成员,那么实际上将同时传递400,000个session变量。这会影响我网站的加载吗?我知道php有内存限制,但不完全理解。谢谢 最佳答案 每个用户4个变量不算什么,但我的建议是在不同的层面上:关注导致网站实际瓶颈的原因。这个问题现在可能不相关,如果这让你慢下来,将来很容易切换。(而且不会)我敢打赌,与担心另一个变量相比,您有更重要的事情要做,当您达到那么多的活跃用户时,您的整个结构可能会发生变化,包括服务器

php - 测试构造函数太多了吗?

首先,我会说我来自Java世界(这很重要,真的)。我已经编写了一段时间的PHP,我遇到的一个问题是由于缺乏编译,有时在编译时很容易检测到的错误(例如,给定的参数数量错误功能),可以静默通过。随着通过添加单元测试增加代码覆盖率,可以很容易地检测到这一点。问题是,为了检查传递的参数是否正确而测试构造函数是否有意义?我指的不仅仅是参数的数量,还有这些参数的内容(例如,如果一个参数为null,某些对象应该启动异常以避免创建“脏”对象)。问题是,我是不是被多年的Java代码污染了?因为毕竟,增加代码覆盖率以“发现”被误用的函数感觉像是一种(真正的)原始编译方式。此外,我想指出,我已经使用了开发环

php - 多少行 PHP 代码对于一个文件来说太多了?

我正在创建一个执行2个mysql数据库调用的PHP文件,脚本的其余部分是if语句,用于file_exists和其他简单变量。到目前为止,我在这个文件中有大约2000行代码。如果陈述为真,包含一个单独的文件是否更好?还是直接在if语句中直接输入代码?PHP是否应该遵守单个文件的最大代码行数? 最佳答案 我会说不应该有任何与您的php文件中的行数相关的性能问题,它可以和您需要的一样大。现在,对于模式和最佳实践,我会说你必须自己判断,我看到许多组织良好的几千行文件和许多实际上很小且难以阅读的文件。我的建议是:判断源代码的可读性,始终组织好

php - 如何在不使用太多内存的情况下强制下载大文件?

我正在尝试向用户提供大型zip文件。当有2个并发连接时,服务器会耗尽内存(RAM)。我将内存量从300MB增加到4GB(DreamhostVPS),然后它运行良好。我需要允许超过2个并发连接。实际的4GB将允许大约20个并发连接(太糟糕了)。好吧,我正在使用的当前代码需要两倍于实际文件大小的内存。这太糟糕了。我想要类似于将文件“流式传输”给用户的东西。所以我只会分配给用户的block。以下代码是我在CodeIgniter(PHP框架)中使用的代码:ini_set('memory_limit','300M');//itwasthemaximumamountofmemoryfrommyse

php - 我如何知道我的 PHP 应用程序是否使用了太多内存?

我正在开发一个PHP网络应用程序,让用户可以相互联系、预订事件和互相发送消息。只有大约100个用户。我使用Ubuntu9.10、apache2、mysql5和php5在VPS上设置了应用程序。我有360Mb的RAM,但升级到720MB。最近,我的Web应用程序因内存使用过多而出现中断。从错误日志中可以看出,服务器似乎会自动终止消耗过多内存的apache进程。因此,作为权宜之计,我将内存从360MB升级到720MB。所以我的问题是,我该如何解决这些中断问题?我如何知道我的网站需要更多内存是由于代码不当还是网站自然增长的一部分?确定哪些PHP脚本消耗最多内存的最有效方法是什么?

php - Codeigniter 记录太多

在我的CI配置文件中,我设置了这个日志记录阈值:$config['log_threshold']=1;在index.php中,我设置了如下报错:error_reporting(E_ERROR);我的期望是这将记录我记录的任何CI错误(使用log_message('error','myerrormessage')),以及任何PHP错误。但是,我希望它不会记录PHP通知,只会记录错误。但是,当我查看日志文件时,它似乎也记录了PHP通知:ERROR-2009-12-1813:21:50—>Severity:Notice—>Undefinedvariable:pageindex/var/www