\n"; echo "TESTE DE INSTALACAO DO i3Geo
\n"; echo getcwd(); //echo "
SERVER_SOFTWARE: ".$SERVER_SOFTWARE."
"; echo "
PHP (a versão deve ser a 5x): "; echo "
".phpversion()."
\n"; include("classesphp/carrega_ext.php"); $exts = get_loaded_extensions(); echo "Obs: MapServer (a versão deve ser >= 5.2 para que a sobreposição de temas funcione na interface Google Maps):
"; echo ms_GetVersion()."
"; if(!function_exists("ms_GetVersion")) {echo "O MAPSERVER PARECE NAO ESTAR INSTALADO!!!
";} echo "---
"; if (get_cfg_var("allow_call_time_pass_reference") != 1){ echo "Problema: allow_call_time_pass_reference no php.ini deveria estar como 'On'. O i3Geo pode não funcionar!!!
"; } if (get_cfg_var("safe_mode") == 1){ echo "Problema: safe_mode no php.ini deveria estar como 'Off'. O i3Geo não irá funcionar!!!
"; } echo "Extensões:
"; if (!extension_loaded("libxml")){echo "Problema: não está instalado a libxml
";} if (!extension_loaded( "PDO")){echo "Problema: não está instalado a PDO
";} if (!extension_loaded( "pdo_sqlite")){echo "Problema: não está instalado a pdo_sqlite
";} if (!extension_loaded( "SQLite")){echo "Problema: não está instalado a SQLite
";} if (!extension_loaded( "SimpleXML")){echo "Problema: não está instalado a SimpleXML
";} if (!extension_loaded( "dom")){echo "Problema: não está instalado a dom
";} if (!extension_loaded( "xml")){echo "Problema: não está instalado a xml
";} if (!extension_loaded( "zlib")){echo "Problema: não está instalado a zlib
";} if (!extension_loaded( "gd")){echo "Problema: não está instalado a gd
";} if (!extension_loaded( "gd2")){echo "Obs: não está instalado a gd2 - o que não é muito crítico....
";} if (!extension_loaded( "mbstring")){echo "Obs: não está instalado a mbstring
";} var_dump( $exts ); echo "Existe o ms_configura.php?
"; if(file_exists("ms_configura.php")) echo "Sim\n"; else {echo "Nao";saindo(" ms_configura não encontrado");} echo "Incluindo...\n
"; include ("ms_configura.php"); echo "$mensagemInicia \n"; echo "dir_tmp = $dir_tmp \n"; echo "locmapserv = $locmapserv \n"; echo "\n
"; echo "editores: \n"; var_dump($editores); $ip = "UNKNOWN"; if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "UNKNOWN"; echo "IP do cliente = $ip \n"; echo "\n"; echo "verificando banco de dados de administração...\n"; $tabelas = array( "i3geoadmin_sistemasf"=>"abrir_funcao,h_funcao,id_funcao,id_sistema,nome_funcao,perfil_funcao,w_funcao", "i3geoadmin_tags"=>"id_tag,nome", "i3geoadmin_perfis"=>"id_perfil,perfil", "i3geoadmin_atlasp"=>"ordem_prancha,desc_prancha,h_prancha,icone_prancha,id_atlas,id_prancha,link_prancha,mapext_prancha,titulo_prancha,w_prancha", "i3geoadmin_atlast"=>"ordem_tema,codigo_tema,id_prancha,id_tema,ligado_tema", "i3geoadmin_mapas"=>"publicado_mapa,ordem_mapa,perfil_mapa,ligados_mapa,temas_mapa,desc_mapa,ext_mapa,id_mapa,imagem_mapa,linkdireto_mapa,nome_mapa,outros_mapa", "i3geoadmin_atlas"=>"publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,icone_atlas,id_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas,w_atlas", "i3geoadmin_sistemas"=>"publicado_sistema,id_sistema,nome_sistema,perfil_sistema", "i3geoadmin_identifica"=>"publicado_i,abrir_i,id_i,nome_i,target_i", "i3geoadmin_raiz"=>"ordem,id_tema,id_menu,id_nivel,id_raiz,nivel,perfil", "i3geoadmin_n1"=>"publicado,ordem,id_menu,id_grupo,id_n1,n1_perfil", "i3geoadmin_n2"=>"publicado,ordem,id_n1,id_n2,id_subgrupo,n2_perfil", "i3geoadmin_n3"=>"publicado,ordem,id_n2,id_n3,id_tema,n3_perfil", "i3geoadmin_ws"=>"nacessosok,nacessos,autor_ws,desc_ws,id_ws,link_ws,nome_ws,tipo_ws", "i3geoadmin_grupos"=>"it,es,en,desc_grupo,id_grupo,nome_grupo", "i3geoadmin_subgrupos"=>"it,es,en,desc_subgrupo,id_subgrupo,nome_subgrupo", "i3geoadmin_temas"=>"it,es,en,kmz_tema,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema", "i3geoadmin_menus"=>"it,es,en,publicado_menu,perfil_menu,aberto,desc_menu,id_menu,nome_menu", "i3geoadmin_comentarios"=>"comentario,data,openidnome,openidimagem,openidservico,openidusuario,openidurl,id_tema", "i3geoadmin_acessostema"=>"codigo_tema,nacessos,dia,mes,ano" ); include_once("admin/php/conexao.php"); foreach(array_keys($tabelas) as $tabela) { echo " Tabela: ".$tabela.""; $sql = "select * from $tabela "; $q = $dbh->query($sql,PDO::FETCH_ASSOC); if($q !== false) { $resultado = $q->fetchAll(); if(count($resultado) > 0) { echo "...ok\n"; foreach(explode(",",$tabelas[$tabela]) as $coluna) { echo " coluna: ".$coluna; if(in_array($coluna,array_keys($resultado[0]))) {echo "...ok\n";} else {echo "..não encontrada. Consulte o i3geo/guia_de_migracao.txt\n";} } } else {echo "...não existem registros cadastrados\n";} } else {echo "..não encontrada. Consulte o i3geo/guia_de_migracao.txt\n";} } echo "\n"; echo "localizando o cgi...\n"; $proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://"; $server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; $enderecocgi = $proto.$server.$locmapserv; echo "Você pode testar o CGI clicando aqui, se o programa responder corretamente, deverá aparecer na tela algo como 'No query information to decode. QUERY_STRING is set, but empty.'\n" ; echo "
Escrevendo no diretório temporário..."; $f = @fopen($dir_tmp."/teste.txt",w); @fclose($f); if (file_exists($dir_tmp."/teste.txt")) echo "ok\n"; else saindo("\nNão foi possível gravar no diretório temporário"); echo "Existe o geral1.map? "; if(file_exists("$locaplic/aplicmap/geral1.map")) echo "Sim\n"; else {echo "Nao";saindo("geral1.map não encontrado");} echo " \n"; echo "Carregando o map_file geral1...\n"; if(isset($base)) {$mapa = ms_newMapObj($locaplic."/aplicmap/".$base.".map");} else { if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {$mapa = ms_newMapObj($locaplic."/aplicmap/geral1windows.map");} else {$mapa = ms_newMapObj($locaplic."/aplicmap/geral1.map");} } echo "E agora..desenhando o mapa (se o mapa não aparecer é um problema...\nverifique os caminhos no ms_configura.php e no geral1.map, geral1debian.map ou geral1windows.map):\n"; $imgo = $mapa->draw(); $nome = ($imgo->imagepath)."teste.png"; echo "Nome da imagem gerada: $nome
"; $imgo->saveImage($nome); $nome = ($imgo->imageurl).basename($nome); echo ""; echo " \n"; $error = ""; ms_ResetErrorList(); echo "Carregando o map_file geral1... e acrescentando os limites estaduais (aplicmap/estadosl...) \n"; if(isset($estadosl)) {$maptemp = ms_newMapObj($locaplic."/aplicmap/".$estadosl.".map");} else{ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {$maptemp = ms_newMapObj($locaplic."/aplicmap/estadoslwindows.map");} else {$maptemp = ms_newMapObj($locaplic."/aplicmap/estadosl.map");} } while($error && $error->code != MS_NOERR) { printf("
Error in %s: %s
\n", $error->routine, $error->message); $error = $error->next(); } echo "E agora..desenhando o mapa (se o mapa não aparecer é um problema...\nverifique os caminhos no ms_configura.php e no estadosl.map ou estadoslwindows.map):\n"; echo "Um problema bastante comum é o não reconhecimento do diretório ms_tmp pelo Apache. \nO diretório ms_tmp é utilizado pelo Mapserver e pelo i3geo para armazenar dados temporários. \nÉ nesse diretório que ficam as imagens do mapa.\n"; echo "Quando o Apache não consegue utilizar esse diretório, a imagem não será mostrada,\n apesar de ser gerada dentro do ms_tmp (vc pode verificar se as imagens do \nmapa estão sendo criadas no ms_tmp após rodar o testainstal.php).\n"; echo "Para solucionar esse problema, vc pode criar um link simbólico (nos sistemas linux),\n no mesmo local onde está instalado o i3geo, apontando para o local \nfísico onde está o ms_tmp.\n"; echo "O nome do link simbólico deve ser o mesmo que estiver definido em aplicmap/geral1.map ou geral1debian.map na linha IMAGEURL. Esse nome por default é definido como ms_tmp.\n"; echo "No wiki do portal do software público vc poderá encontrar mais detalhes sobre isso.\n"; for($i=0;$i<($maptemp->numlayers);$i++) { $layern = $maptemp->getLayer($i); if ($layern->name == "estadosl") {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");} ms_newLayerObj($mapa, $layern); } $imgo = $mapa->draw(); $nome = ($imgo->imagepath)."teste1.png"; echo "Nome da imagem gerada: $nome
"; $imgo->saveImage($nome); $nome = ($imgo->imageurl).basename($nome); echo "