mirror of
https://github.com/php/doc-es.git
synced 2026-04-25 08:08:27 +02:00
210 lines
6.4 KiB
XML
210 lines
6.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 2dbf3d9064d4cb07f0a2f7d06641c877a2e5ed24 Maintainer: PhilDaiguille Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<sect1 xml:id="install.windows.commandline" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Ejecución de PHP en línea de comandos en sistemas Windows</title>
|
|
<para>
|
|
Esta sección contiene notas y consejos específicos para la ejecución de PHP
|
|
en línea de comandos en Windows.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
¡Leer primero los <link linkend="install.windows.manual">pasos
|
|
de instalación manual</link>!
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Tener PHP ejecutándose desde la línea de comandos puede realizarse sin
|
|
hacer modificaciones en Windows.
|
|
<screen>
|
|
<![CDATA[
|
|
C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Pero hay algunos pasos fáciles de seguir para simplificar esto.
|
|
Algunos de estos pasos ya deberían haberse tomado, pero se repiten aquí
|
|
para proporcionar una secuencia completa paso a paso.
|
|
|
|
<itemizedlist>
|
|
<note>
|
|
<para>
|
|
Las dos variables de sistema preexistentes <envar>PATH</envar> y <envar>PATHEXT</envar> son
|
|
importantes en Windows,
|
|
y se debe tener cuidado de no sobrescribirlas,
|
|
solo añadirlas.
|
|
</para>
|
|
</note>
|
|
|
|
<listitem>
|
|
<para>
|
|
Añadir la ubicación del ejecutable PHP (<filename>php.exe</filename>,
|
|
<filename>php-win.exe</filename> o <filename>php-cli.exe</filename>
|
|
según la versión de PHP y las preferencias de visualización) a la variable
|
|
de entorno <envar>PATH</envar>. Leer más sobre cómo añadir el
|
|
directorio PHP apropiado a la variable de entorno <envar>PATH</envar> en la
|
|
<link linkend="faq.installation.addtopath">entrada FAQ correspondiente</link>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Añadir la extensión <literal>.PHP</literal>
|
|
a la variable de entorno <varname>PATHEXT</varname>. Esto puede hacerse
|
|
al mismo tiempo que se añade la variable de entorno <envar>PATH</envar>.
|
|
Siga los mismos pasos descritos en la <link
|
|
linkend="faq.installation.addtopath">FAQ</link> pero modifique la variable
|
|
de entorno <varname>PATHEXT</varname> en lugar de la variable
|
|
de entorno <envar>PATH</envar>.
|
|
<note>
|
|
<para>
|
|
La posición en la que se coloca <literal>.PHP</literal> determinará
|
|
qué script o programa se ejecuta cuando hay nombres de ficheros
|
|
correspondientes. Por ejemplo, colocar <literal>.PHP</literal> antes
|
|
de <literal>.BAT</literal> hará que se ejecute el script, en lugar del
|
|
fichero batch, si hay un fichero batch con el mismo nombre.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Asociar la extensión <literal>.PHP</literal> con un tipo de fichero. Esto
|
|
se hace ejecutando el siguiente comando:
|
|
<screen>
|
|
<![CDATA[
|
|
assoc .php=phpfile
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Asociar el tipo de fichero <literal>phpfile</literal> con el ejecutable PHP
|
|
apropiado. Esto se hace ejecutando el siguiente comando:
|
|
<screen>
|
|
<![CDATA[
|
|
ftype phpfile="C:\php\php.exe" -f "%1" -- %~2
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Siguiendo estos pasos, los scripts PHP podrán ser ejecutados desde cualquier
|
|
directorio sin necesidad de escribir el ejecutable PHP o la extensión
|
|
<literal>.PHP</literal> y todos los argumentos serán proporcionados al script para su procesamiento.
|
|
</para>
|
|
|
|
<para>
|
|
El ejemplo a continuación detalla algunos de los cambios de registro que pueden hacerse manualmente.
|
|
<example>
|
|
<title>Cambios de registro</title>
|
|
<screen>
|
|
<![CDATA[
|
|
Windows Registry Editor Version 5.00
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
|
|
@="phpfile"
|
|
"Content Type"="application/php"
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
|
|
@="PHP Script"
|
|
"EditFlags"=dword:00000000
|
|
"BrowserFlags"=dword:00000008
|
|
"AlwaysShowExt"=""
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
|
|
@="C:\\php\\php-win.exe,0"
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
|
|
@="Open"
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
|
|
@="&Open"
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
|
|
@="\"C:\\php\\php.exe\" -f \"%1\" -- %~2"
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
Con estos cambios, el mismo comando puede escribirse como sigue:
|
|
<screen>
|
|
<![CDATA[
|
|
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
o, si la ruta <literal>"C:\PHP Scripts"</literal> está en la
|
|
variable de entorno <envar>PATH</envar>:
|
|
<screen>
|
|
<![CDATA[
|
|
script -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
Hay un pequeño problema si la intención es utilizar esta técnica y
|
|
utilizar los scripts PHP como filtro en línea de comandos, como en el ejemplo a continuación:
|
|
<screen>
|
|
<![CDATA[
|
|
dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
o
|
|
<screen>
|
|
<![CDATA[
|
|
dir | script -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
El script puede simplemente bloquearse y no mostrar nada.
|
|
Para que esto funcione, se debe realizar otro cambio de registro:
|
|
<screen>
|
|
<![CDATA[
|
|
Windows Registry Editor Version 5.00
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
|
|
"InheritConsoleHandles"=dword:00000001
|
|
]]>
|
|
</screen>
|
|
Más información sobre este problema puede encontrarse en este <link
|
|
xlink:href="http://support.microsoft.com/default.aspx?scid=kb;en-us;321788">artículo de la base de conocimientos de Microsoft: 321788</link>.
|
|
A partir de Windows 10, este ajuste parece estar invertido, haciendo que la instalación por defecto de
|
|
Windows 10 soporte automáticamente los manejadores de consola heredados. Este <link
|
|
xlink:href="https://social.msdn.microsoft.com/Forums/en-US/f19d740d-21c8-4dc2-a9ab-d5c0527e932b/nasty-file-association-regression-bug-in-windows-10-console?forum=windowssdk">
|
|
post del foro de Microsoft</link> proporciona la explicación.
|
|
</para>
|
|
</note>
|
|
</sect1>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|