<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/security.cgi-bin.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'security.cgi-bin.shell.php',
    1 => 'Caso 4: El analizador de PHP fuera del &aacute;rbol de la web',
    2 => 'Caso 4: El analizador de PHP fuera del &aacute;rbol de la web',
  ),
  'up' => 
  array (
    0 => 'security.cgi-bin.php',
    1 => 'Instalado como CGI binario',
  ),
  'prev' => 
  array (
    0 => 'security.cgi-bin.doc-root.php',
    1 => 'Caso 3: Configurando doc_root o user_dir',
  ),
  'next' => 
  array (
    0 => 'security.apache.php',
    1 => 'Instalado como m&oacute;dulo de Apache',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'security/cgi-bin.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="security.cgi-bin.shell" class="sect1">
    <h2 class="title">Caso 4: El analizador de PHP fuera del árbol de la web</h2>
    <p class="para">
     Una opción muy segura es poner el binario analizador de PHP en algún lugar
     fuera del árbol de ficheros de la web. En <var class="filename">/usr/local/bin</var>, por ejemplo.  El único inconveniente
     real con esta opción es que ahora tendrá que poner una línea similar a:
     <div class="informalexample">
      <div class="example-contents">
<div class="cdata"><pre>
#!/usr/local/bin/php
</pre></div>
      </div>

     </div>
     como la primera línea de cualquier fichero que contenga etiquetas de PHP. También
     necesitará hacer que el fichero sea ejecutable. Eso significa, tratarlo exactamente
     como trataría cualquier otro script de CGI escrito en Perl, sh, bash, o cualquier
     otro lenguaje común de script el cual utilice <code class="literal">#!</code> como mecanismo
     de ejecución de si mismo.
    </p>
    <p class="para">
     Para que PHP maneje la información correctamente de <var class="envar">PATH_INFO</var> y
     <var class="envar">PATH_TRANSLATED</var> con esta configuración, La directiva ini <a href="ini.core.php#ini.cgi.discard-path" class="link">cgi.discard_path</a> debe estar habilitada..
    </p>
   </div><?php manual_footer($setup); ?>