protected function checkService() { $actualMemoryBytes = null; $memoryBytesPassed = InstallUtil::checkPhpMaxMemorySetting($this->minimumMemoryRequireBytes, $actualMemoryBytes); if ($memoryBytesPassed) { $this->message = Zurmo::t('InstallModule', 'PHP memory_limit meets minimum requirement.'); return true; } else { $this->message = Zurmo::t('InstallModule', 'PHP memory_limit is:') . ' '; $this->message .= round($actualMemoryBytes / 1024000) . 'M '; $this->message .= Zurmo::t('InstallModule', 'minimum requirement is:') . ' '; $this->message .= round($this->minimumMemoryRequireBytes / 1024000) . 'M'; return false; } }
public function testCheckPhpMaxMemorySetting() { $oldValue = ini_get('memory_limit'); ini_set('memory_limit', '64M'); $this->assertFalse(InstallUtil::checkPhpMaxMemorySetting(1024 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(64 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(12 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(1 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); ini_set('memory_limit', '64m'); $this->assertFalse(InstallUtil::checkPhpMaxMemorySetting(1024 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(64 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(12 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(1 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024, $actualMemoryLimitBytes); //causing actual exhausting of memory during tests. /* ini_set('memory_limit', '64K'); $this->assertFalse (64 * 1024, InstallUtil::checkPhpMaxMemorySetting(1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(64 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(12 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting( 1 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024, $actualMemoryLimitBytes); */ ini_set('memory_limit', '64G'); $this->assertFalse(InstallUtil::checkPhpMaxMemorySetting(1024 * 1024 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(64 * 1024 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(12 * 1024 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024 * 1024, $actualMemoryLimitBytes); $this->assertTrue(InstallUtil::checkPhpMaxMemorySetting(1 * 1024, $actualMemoryLimitBytes)); $this->assertEquals(64 * 1024 * 1024 * 1024, $actualMemoryLimitBytes); ini_set('memory_limit', $oldValue); }