Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 10650

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Servidores Sun, iPlanet e Netscape no Microsoft Windows</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Manual do PHP"
HREF="index.html"><LINK
REL="UP"
TITLE="Instalação em sistemas Windows"
HREF="install.windows.html"><LINK
REL="PREVIOUS"
TITLE="Apache 2.0.x no Microsoft Windows"
HREF="install.windows.apache2.html"><LINK
REL="NEXT"
TITLE="Servidor OmniHTTPd"
HREF="install.windows.omnihttpd.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Manual do PHP</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="install.windows.apache2.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Capítulo 6. Instalação em sistemas Windows</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="install.windows.omnihttpd.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="install.windows.sun"
>Servidores Sun, iPlanet e Netscape no Microsoft Windows</A
></H1
><P
>&#13;    Essa seção contem notas e dicas específicas para instalação do PHP em servidores 
    Sun Java System Web Server, Sun ONE Web Server, iPlanet e Netscape no Windows.
   </P
><P
>&#13;    A partir do PHP 4.3.3 você pode usar seus scripts PHP com o
    <A
HREF="ref.nsapi.html"
>módulo NSAPI</A
> para
    <A
HREF="install.windows.sun.html#install.windows.sun.specialpages"
>gerar listagens
    personalizadas de diretórios e páginas de erro</A
>. Funções adicionais para
    compatibilidade com o Apache também estão disponíveis. Para suporte nos servidores web atuais
    leia a <A
HREF="install.windows.sun.html#install.windows.sun.notes"
>nota sobre
    subrequests</A
>.
   </P
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="install.windows.sun.cgi"
>Configurando como CGI em servidores Sun, iPlanet e Netscape</A
></H2
><P
>&#13;     Para instalar o PHP como um tratador de CGI, faça o seguinte:
    </P
><P
></P
><UL
><LI
><P
>&#13;       Copie o arquivo <TT
CLASS="filename"
>php4ts.dll</TT
> para a pasta raiz do seu sistema
       (o diretório onde você instalou o Windows)
      </P
></LI
><LI
><P
>&#13;       Faça uma associação de arquivo a partir da linha de comando.
       Digite as duas linhas a seguir:
       <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="shell"
>assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*</PRE
></TD
></TR
></TABLE
>
      </P
></LI
><LI
><P
>&#13;       No Netscape Enterprise Administration Server crie
       um diretório dummy para o shellcgi e remova-o em seguida (esse
       passo cria 5 linhas importantes no obj.conf e permite que
       o servidor web trate scripts shellcgi).
      </P
></LI
><LI
><P
>&#13;       No Netscape Enterprise Administration Server crie
       um novo tipo mime (Category: type,
       Content-Type: magnus-internal/shellcgi, File Suffix:php).
      </P
></LI
><LI
><P
>&#13;       Faça isso para cada instância do servidor web que você quiser que rode o PHP
      </P
></LI
></UL
><P
>&#13;     Mais detalhes sobre configuração do 
     PHP como um executável CGI pode ser encontrado aqui:
     <A
HREF="http://benoit.noss.free.fr/php/install-php.html"
TARGET="_top"
>http://benoit.noss.free.fr/php/install-php.html</A
>
    </P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="install.windows.sun.nsapi"
>Configurando como NSAPI em servidores Sun, iPlanet e Netscape</A
></H2
><P
>&#13;     Para instalar o PHP com NSAPI, faça o seguinte:
    </P
><P
></P
><UL
><LI
><P
>&#13;       Copie <TT
CLASS="filename"
>php4ts.dll</TT
> para a pasta raiz do seu sistema
       (o diretório onde você instalou o Windows)
      </P
></LI
><LI
><P
>&#13;       Faça uma associação de arquivo a partir da linha de comando.
       Digite as duas linhas a seguir:
       <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="shell"
>assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*</PRE
></TD
></TR
></TABLE
>
      </P
></LI
><LI
><P
>&#13;       No Netscape Enterprise Administration Server crie
       um novo tipo mime (Category: type,
       Content-Type: magnus-internal/x-httpd-php, File Suffix: php).
      </P
></LI
><LI
><P
>&#13;        Edite o arquivo <TT
CLASS="filename"
>magnus.conf</TT
> (para servidores &#62;= 6) ou
        <TT
CLASS="filename"
>obj.conf</TT
> (para servidores &#60; 6) e adicione o seguinte:
        Você deve 
        colocar as linhas depois de <TT
CLASS="literal"
>mime types init</TT
>.
       <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]</PRE
></TD
></TR
></TABLE
>
       (PHP &#62;= 4.3.3) O parâmetro <TT
CLASS="literal"
>php_ini</TT
> é
       opcional, mas com ele você pode colocar seu arquivo
       <TT
CLASS="filename"
>php.ini</TT
> no diretório de configuração do seu servidor web.
      </P
></LI
><LI
><P
>&#13;       Configure o objeto padrão no arquivo  <TT
CLASS="filename"
>obj.conf</TT
>
       (para classes de servidor virtual [Sun Web Server 6.0+] no
       arquivo <TT
CLASS="filename"
>vserver.obj.conf</TT
>):
       Na seção  <TT
CLASS="literal"
>&#60;Object name="default"&#62;</TT
>,
       coloque essa linha necessariamente após todas as linhas do tipo 'ObjectType'
       e antes das do tipo 'AddLog':
       <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]</PRE
></TD
></TR
></TABLE
>
       (PHP &#62;= 4.3.3) Como parâmetros adicionais,você pode adicionar alguns valores
       especiais do arquivo <TT
CLASS="filename"
>php.ini</TT
>, por exemplo, você pode
       atribuir um <TT
CLASS="literal"
>docroot="/path/to/docroot"</TT
>
       específico ao contexto no qual <TT
CLASS="literal"
>php4_execute</TT
>
       é chamado. Para valores booleanos do <TT
CLASS="filename"
>php.ini</TT
>, use 0/1 como valor,
       e não <TT
CLASS="literal"
>"On","Off",...</TT
>
       (Isso não funcionará), ex.:
       <TT
CLASS="literal"
>zlib.output_compression=1</TT
> ao invés de
       <TT
CLASS="literal"
>zlib.output_compression="On"</TT
>
      </P
></LI
><LI
><P
>&#13;       Isso só é necessário se você quiser configurar um diretório que só consiste de
       scripts PHP (como em um diretório cgi-bin):
       <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>&#60;Object name="x-httpd-php"&#62;
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
&#60;/Object&#62;</PRE
></TD
></TR
></TABLE
>
       Depois disso você pode configurar um diretório na ferramenta de Administração do servidor e atribuir a ele
       um estilo <TT
CLASS="literal"
>x-httpd-php</TT
>. Todos os arquivos neles serão executados como PHP.
       Isso é bom para esconder o uso do PHP renomeando os arquivos como <TT
CLASS="filename"
>.html</TT
>.
      </P
></LI
><LI
><P
>&#13;       Reinicie seu servidor web e aplique as mudanças
      </P
></LI
><LI
><P
>&#13;       Faça isso para cada instância do servidor web que você quiser que execute o PHP
      </P
></LI
></UL
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
      Mais detalhes sobre configurar o 
      PHP como um filtro NSAPI pode ser achado aqui:
      <A
HREF="http://benoit.noss.free.fr/php/install-php4.html"
TARGET="_top"
>http://benoit.noss.free.fr/php/install-php4.html</A
>
     </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
      O tamanho de pilha que o PHP usa depende da configuração do servidor web. Se você tiver
      problemas com scripts muito grandes, é recomendado aumentar esse tamanho com o Administrador
      do Servidor (na seção "MAGNUS EDITOR").
     </P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="install.windows.sun.phpini"
>Ambiente CGI e modificações recomendadas ao arquivo php.ini</A
></H2
><P
>&#13;     É importante quando escrevendo scripts PHP levar em conta o fato que Sun JSWS/Sun ONE
     WS/iPlanet/Netscape são servidores multithreaded. Por isso, todas as 
     requisições estão sendo executadas no mesmo espaço de processo (o espaço do servidor
     web) e esse espaço só tem um ambiente. Se você quiser usar variáveis
     CGI como <TT
CLASS="literal"
>PATH_INFO</TT
>, <TT
CLASS="literal"
>HTTP_HOST</TT
>
     etc, não é correto tentar pegá-las da maneira do PHP 3.x, usando a função
     <A
HREF="function.getenv.html"
><B
CLASS="function"
>getenv()</B
></A
> ou uma maneira similar (registrar globais para o
     ambiente, <TT
CLASS="literal"
>$_ENV</TT
>). Você só iria pegar o ambiente do
     servidor web sem quaisquer variáveis CGI válidas!
    </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
      Porque existem variáveis CGI (inválidas) no ambiente?
     </P
><P
>&#13;      Resposta: Isso é porque você inicializou o processo do servidor a partir do administrador
      do servidor que executa o script de inicialização do servidor web, você queria iniciar, como um script
      CGI (um script CGI dentro do administrador do servidor!). Isso é porque o ambiente do
      servidor tem algumas variáveis CGI do ambiente nele. Você pode testar isso
      inicializando o servidor web de outra forma que não pelo administrador do servidor. Use
      a linha de comando como usuário root e inicialize-o manualmente - você verá
      que não há variáveis ambientes do tipo CGI.
     </P
></BLOCKQUOTE
></DIV
><P
>&#13;     Simplesmente mude seus scripts para pegar variáveis CGI da maneira correta para
     o PHP 4.x, usando o array superglobal <TT
CLASS="literal"
>$_SERVER</TT
>. Se você tiver 
     scripts mais antigos que usem <TT
CLASS="literal"
>$HTTP_HOST</TT
>, etc., você deve ligar a
     diretiva <TT
CLASS="literal"
>register_globals</TT
> no arquivo <TT
CLASS="filename"
>php.ini</TT
> e mudar a ordem das 
     variáveis também (importante: remova <TT
CLASS="literal"
>"E"</TT
> da diretiva,
     porque você não precisa das variávies de ambiente aqui):
     <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>variables_order = "GPCS"
register_globals = On</PRE
></TD
></TR
></TABLE
>
    </P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="install.windows.sun.specialpages"
>Uso especial para páginas de erro ou listagens de conteúdo de diretório auto-geradas (PHP &#62;= 4.3.3)</A
></H2
><P
>&#13;     Você pode usar o PHP para gerar as páginas de erro para <TT
CLASS="literal"
>"404 Not Found"</TT
>
     ou similar. Adicione a seguinte linha ao objeto no arquivo <TT
CLASS="filename"
>obj.conf</TT
> para
     cada página de erro que você queira sobrescrever:
     <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]</PRE
></TD
></TR
></TABLE
>
     onde <TT
CLASS="literal"
>XXX</TT
> é o código de erro HTTP. Por favor apague
     qualquer outra diretiva <TT
CLASS="literal"
>Error</TT
> que podem interferir com as suas.
     Se você quiser colocar uma página para todos os erros que podem existir, não 
     informe o parâmetro <TT
CLASS="literal"
>code</TT
>. Seu script pode determinar qual o erro
     pela variável <TT
CLASS="literal"
>$_SERVER['ERROR_TYPE']</TT
>.
    </P
><P
>&#13;     Outra possibilidade é gerar listagens de conteúdo de diretório.
     Apenas crie um script PHP que mostre uma listagem do diretório e
     substitua o valor padrão da linha Service 
     <TT
CLASS="literal"
>type="magnus-internal/directory"</TT
>
     no arquivo <TT
CLASS="filename"
>obj.conf</TT
> com a seguinte:
     <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]</PRE
></TD
></TR
></TABLE
>
     Tanto para páginas de erro e de listagem de diretório a URI original e
     a URI traduzida estão nas variáveis <TT
CLASS="literal"
>$_SERVER['PATH_INFO']</TT
> e
     <TT
CLASS="literal"
>$_SERVER['PATH_TRANSLATED']</TT
>.
    </P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="install.windows.sun.notes"
>Nota sobre <A
HREF="function.nsapi-virtual.html"
><B
CLASS="function"
>nsapi_virtual()</B
></A
> e subrequisições (subrequests) (PHP &#62;= 4.3.3)</A
></H2
><P
>&#13;     O módulo NSAPI agora suporta a função <A
HREF="function.nsapi-virtual.html"
><B
CLASS="function"
>nsapi_virtual()</B
></A
>
     (sinônimo (alias): <A
HREF="function.virtual.html"
><B
CLASS="function"
>virtual()</B
></A
>)
     para fazer subrequisições no servidor web e inserir o resultado em uma página web.
     O problema é que essa função usa algumas características não documentadas da
     biblioteca NSAPI.
    </P
><P
>&#13;     No Unix, isso não é um problema, porque o módulo procura automaticamente
     pelas funções necessárias e usa elas se disponíveis.
     Se não, <A
HREF="function.nsapi-virtual.html"
><B
CLASS="function"
>nsapi_virtual()</B
></A
> é desabilitada.
    </P
><P
>&#13;     Limitações de tratamento de DLLs no Windows precisam da detecção
     automática do arquivo <TT
CLASS="filename"
>ns-httpdXX.dll</TT
> mais recente.
     Isso é testado pelos servidores até a versão 6.1. Se uma versão mais nova do
     servidor Sun é usado, a detecção falha e <A
HREF="function.nsapi-virtual.html"
><B
CLASS="function"
>nsapi_virtual()</B
></A
>
     é desabilitada.
    </P
><P
>&#13;     Se esse for o caso, tente o seguinte:     
     Adicione o seguinte parâmetro para <TT
CLASS="literal"
>php4_init</TT
> em
     <TT
CLASS="filename"
>magnus.conf</TT
>/<TT
CLASS="filename"
>obj.conf</TT
>:
     <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>Init fn=php4_init ... server_lib="ns-httpdXX.dll"</PRE
></TD
></TR
></TABLE
>
     onde <TT
CLASS="literal"
>XX</TT
> é o número de versão correto da DLL.
     Para obter esse valor, procure na pasta raiz do servidor para o nome correto da DLL. A
     DLL com o maior tamanho é a certa.
    </P
><P
>&#13;     Você pode verificar o status usando a função <A
HREF="function.phpinfo.html"
><B
CLASS="function"
>phpinfo()</B
></A
>.
    </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
      Mas esteja avisado: O suporte para <A
HREF="function.nsapi-virtual.html"
><B
CLASS="function"
>nsapi_virtual()</B
></A
> é EXPERIMENTAL!!!
     </P
></BLOCKQUOTE
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="install.windows.apache2.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Principal</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="install.windows.omnihttpd.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Apache 2.0.x no Microsoft Windows</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="install.windows.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Servidor OmniHTTPd</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>