Viewing File server/web/environment.test.php of 1.18.0b
|
1: <?php 2: /* ------------------------------------------------------------- 3: This file is part of FreeNATS 4: 5: FreeNATS is (C) Copyright 2008-2010 PurplePixie Systems 6: 7: FreeNATS is free software: you can redistribute it and/or modify 8: it under the terms of the GNU General Public License as published by 9: the Free Software Foundation, either version 3 of the License, or 10: (at your option) any later version. 11: 12: FreeNATS is distributed in the hope that it will be useful, 13: but WITHOUT ANY WARRANTY; without even the implied warranty of 14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15: GNU General Public License for more details. 16: 17: You should have received a copy of the GNU General Public License 18: along with FreeNATS. If not, see www.gnu.org/licenses 19: 20: For more information see www.purplepixie.org/freenats 21: -------------------------------------------------------------- */ 22: 23: function test_funcs($funcs) 24: { 25: if (!is_array($funcs)) $funcs=array($funcs); 26: $out=""; 27: for($a=0; $a<count($funcs); $a++) 28: { 29: if (!function_exists($funcs[$a])) 30: { 31: $out.=$funcs[$a]." "; 32: } 33: } 34: if ($out!="") $out.="functions required"; 35: return $out; 36: } 37: 38: function test_mod($mod,$funcs) 39: { 40: $text=test_funcs($funcs); 41: if ($text=="") 42: { 43: echo "<b style=\"color: green;\">".$mod."</b> - Ok<br>"; 44: return true; 45: } 46: else 47: { 48: echo "<b style=\"color: red;\">".$mod."</b> - ".$text."<br>"; 49: return false; 50: } 51: } 52: 53: if (!isset($env_test_web)) // PHP CLI Test 54: { 55: if (!test_mod("IMAP","imap_open")) 56: { 57: echo "IMAP is not supported - don't configure IMAP tests or your environment will hang<br>"; 58: } 59: if (!test_mod("Sockets","fsockopen")) 60: { 61: echo "Sockets are not supported - fatal error<br>"; 62: } 63: if (!test_mod("Streams","fopen")) 64: { 65: echo "Streams are not supported - fatal error<br>"; 66: } 67: if (!test_mod("MySQLi","mysqli_connect")) 68: { 69: echo "MySQL is not supported - fatal error<br>"; 70: } 71: if (!test_mod("Mail","mail")) 72: { 73: echo "mail() not supported, may have to use direct SMTP or maybe no mail will work!<br>"; 74: } 75: if (!test_mod("PHP5","str_split")) 76: { 77: echo "Don't appear to be running PHP5 - FreeNATS may not work on PHP4<br>"; 78: } 79: if (!test_mod("XML","xml_parser_create")) 80: { 81: echo "XML Parser not present in PHP CLI - nodeside testing and anything else dependent on XML (discovery/import tools etc) will fail!<br>"; 82: } 83: 84: if (isset($_SERVER['argv'][1]) && ($_SERVER['argv'][1]=="full")) 85: { 86: echo "<br><br><DIV STYLE=\"font-family: monospace;\">"; 87: ob_start(); 88: phpinfo(); 89: $info=ob_get_contents(); 90: ob_clean(); 91: $info=nl2br($info); 92: echo $info; 93: echo "</DIV><br>"; 94: } 95: exit(1); 96: } 97: else // PHP Web/Apache Module Test 98: { 99: if (!test_mod("MySQLi","mysqli_connect")) 100: { 101: echo "MySQL is not supported - fatal error<br>"; 102: } 103: if (!test_mod("Mail","mail")) 104: { 105: echo "mail() not supported, may have to use direct SMTP or maybe no mail will work!<br>"; 106: } 107: if (!test_mod("PHP5","str_split")) 108: { 109: echo "Don't appear to be running PHP5 - FreeNATS may not work on PHP4<br>"; 110: } 111: if (!test_mod("GD Graphics",array("imagecreate","imagepng"))) 112: { 113: echo "GD Graphics does not appear to be supported or does not support PNG - historic graphs will not work!<br>"; 114: } 115: if (!test_mod("XML","xml_parser_create")) 116: { 117: echo "XML Parser not present in PHP web - nodeside and other functions from within the web interface will fail<br>"; 118: } 119: } 120: 121: ?> 122: