none
php+oracle+iis RRS feed

  • Pergunta

  • alguem já conseguiu fazer isso funcionar.. existe alguma peculiaridade no IIS q deve ser configurada para ele reconheçer o oracle??? o php eu ja fiz funcionar no IIS mais nao reconheçe e nao funciona o oracle...
    segunda-feira, 31 de janeiro de 2011 12:30

Respostas

  • Olá Fábio,

    Não sei o que você refere como "IIS não reconhece o Oracle", mas para o Web Server é indiferente qual será o banco de dados que a aplicação irá utilizar desde que a aplicação seja responsável por conectar ao banco.

    Já trabalhei com ambientes semelhantes a este sem problemas

    Por favor dê mais detalhes para que possamos te ajudar.

    Abraços,


    Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support
    segunda-feira, 31 de janeiro de 2011 17:53

Todas as Respostas

  • Olá Fábio,

    Não sei o que você refere como "IIS não reconhece o Oracle", mas para o Web Server é indiferente qual será o banco de dados que a aplicação irá utilizar desde que a aplicação seja responsável por conectar ao banco.

    Já trabalhei com ambientes semelhantes a este sem problemas

    Por favor dê mais detalhes para que possamos te ajudar.

    Abraços,


    Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support
    segunda-feira, 31 de janeiro de 2011 17:53
  • tipo.. tenho um comando em php ( não sei se vc desenvolve nele ), q tipo faz a conexao com o banco e depois faz um select simples por exemplo e retorna o resultado dentro de uma tabela, aparentemente ele conecta no banco, porém nao traz nenhum resultado SQL, se eu colocar isso no apache funciona, se eu coloco no IIS nao funciona...
    segunda-feira, 31 de janeiro de 2011 18:00
  • segue anexo o meu codigo ele da a mensagem de conxao bem sucedida.

     

    <html>
    <title>Derrubar Usuário do Sapiens</title>
    </html>
    <?php
    
    $user="sapiens"; // seta o usuario
    $senha="sapiens"; // seta a senha
    $banco="(DESCRIPTION=
         (ADDRESS_LIST=
          (ADDRESS=(PROTOCOL=TCP)
           (HOST=127.0.0.1)(PORT=1521)
          )
         )
         (CONNECT_DATA=(SERVICE_NAME=xe))
       )"; 
    
     $conexao = ocilogon($ora_user, $ora_senha, $banco);
    
    if ($conexao = oci_connect($user,$senha,$banco,OCI_SYSDBA))
    {
      echo "Conexão bem sucedida.";
    }else{
      $e = oci_error();
      print htmlentities($e['message']);
    }
    
    /*
    putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9"); 
    putenv ("LC_ALL = tr_TR.ISO-8859-9");
      
    header( 'Content-type: text/html; charset=iso-8859-1' );
      
      $ora_host  = "127.0.0.1"; //ip fictício
      $ora_user  = "sapiens"; //user fictício
      $ora_senha  = "sapiens"; //senha fictícia
      $port    = "1521"; //porta fictícia
    
      $conexao = @ocilogon($ora_user,$ora_senha,"//127.0.0.1:1521/xe",OCI_SYSDBA);
      
      session_start();
      
      if(!$conexao)
      {
          $_SESSION["msg"]=oci_error();
          $_SESSION["tpMsg"]="0";  
      }
    
    */
    //$sql = "select * from v"."$"."session WHERE osuser<>'oracle' order by osuser asc" ;
    $sql = "select * from e085cli" ;
    $parsed = OCIParse($conexao,$sql) or die(oci_error());
    OCIExecute($sql,OCI_DEFAULT);
    OCIExecute($parsed);
    ?>
    
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_goToURL() { //v3.0
     var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
     for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    }
    //-->
    </script>
    
    <form name="form1" method="post" action="">
     <table width="58%" border="0" align="center">
      <tr bgcolor="#000000"> 
       <td width="7%"><font color="#FFFFFF">&nbsp;</font></td>
       <td width="13%"> <div align="center"><font color="#FFFFFF">USU&Aacute;RIO</font></div></td>
       <td width="15%"><div align="center"><font color="#FFFFFF">MACHINE</font></div></td>
       <td width="19%"><div align="center"><font color="#FFFFFF">PROGRAM</font></div></td>
       <td width="26%"><div align="center"><font color="#FFFFFF">DATABASE</font></div></td>
       <td width="10%"> <div align="center"><font color="#FFFFFF">SID</font></div></td>
       <td width="10%"> <div align="center"><font color="#FFFFFF">SERIAL</font></div></td>
      </tr>
      <?
    $valor=0;
    while($linha=OCI_Fetch_row($sql)) 
    {
      if($valor==0) 
    	{ ?>
      <tr bgcolor="#999999"> 
       <td> <input name="kill" type="submit" onClick="MM_goToURL('parent','kill.php?sid=<? echo $linha[1]; ?>&amp;serial=<? echo $linha[2];      ?>&amp;user=<? echo $linha[15]; ?>&amp;maq=<? echo $linha[17]; ?>');return document.MM_returnValue" value="KILL"></td>   
       <td><? echo $linha[15]; ?></td>
       <td><? echo $linha[18]; ?></td>
       <td><? echo $linha[19]; ?></td>
       <td><? echo $linha[6]; ?></td>
       <td><? echo $linha[1]; ?></td>
       <td><? echo $linha[2]; ?></td>
    
      </tr>
      <? $valor++; 
      } 
      else 
    	{  ?>
      <tr bgcolor="#CCCCCC"> 
       <td> <input name="kill" type="submit" onClick="MM_goToURL('parent','kill.php?sid=<? echo $linha[1]; ?>&amp;serial=<? echo $linha[2];      ?>');return document.MM_returnValue" value="KILL"></td>   
       <td><? echo $linha[15]; ?></td>
       <td><? echo $linha[18]; ?></td>
       <td><? echo $linha[19]; ?></td>
       <td><? echo $linha[6]; ?></td>  
       <td><? echo $linha[1]; ?></td>
       <td><? echo $linha[2]; ?></td>
    
      </tr>
      <? 
      $valor=0; 
      }
    } 
    ?>
     </table>
    </form>
    <?
    ocifreestatement($sql); //LIBERA DA MEMÓRIA
    ocilogoff($conexao); //DESCONECTA DO ORACLE
    ?>
    

    segunda-feira, 31 de janeiro de 2011 18:20
  • Olá Fábio,

    Não sou desenvolvedor e não conheço de código, mas pela sua descrição pode ser um comando/componente do PHP que não funciona específicamente no IIS(por isso no "cacique" funfa).

    Você pode utilizar o Failed Request Tracing Rules para verificar se é possível identificar em qual parte está falhando a execução do código e tentar modificar para outra que funcione.

    Outra alternativa seria buscar ajuda em foruns de PHP (não sei se possuimos este forum aqui no Technet)

    Abraços,


    Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support
    segunda-feira, 31 de janeiro de 2011 18:47
  • blz.. eu estou fazendo um teste do zero

    formatei o pc e instalei somente o iis e o php.iis.net fiz a instalação tudo via microsoft mesmo, sem jeitinnho, preciso agora saber o seguinte, tipo, o IIS nao mostra os erros em php por exemplo, erro na linha tal, erro tal, ele mostra uma pagina padrao de erro, como faço para visualizar esse tipo de erro, tem como visualizar exatamente ele?

    terça-feira, 1 de fevereiro de 2011 18:02
  • Olá,

    O IIS exibe sim a msg de erro, mas você deve escolher uma opção no seu Browser (Caso seja Internet Explorer)

    Vá em Tools -> Internet Options -> Advanced TAB -> desmarque a opção "Show Friendly HTTP error Message" (está informação funciona para aplicações .Net não sei como se comportaria com PHP)

    Abraços,


    Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support
    terça-feira, 1 de fevereiro de 2011 19:26
  • com php nao funcionou nao.. continua aparecendo a mensagem...

     

    Erro HTTP 404.0 - Not Found

    O recurso que você está procurando foi removido, teve o seu nome alterado ou está temporariamente indisponível.

     

    existe outra coisa que eu possa olhar???

    terça-feira, 1 de fevereiro de 2011 23:23
  • habilitei o error_reporting no IIS e funcionou
    quarta-feira, 2 de fevereiro de 2011 00:30
  • Opa ,

    Mas funcionou a página ou a msg de erro?

    abraços


    Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support
    quarta-feira, 2 de fevereiro de 2011 11:25