mirror of
https://github.com/php/doc-de.git
synced 2026-04-23 23:18:24 +02:00
219 lines
6.6 KiB
XML
219 lines
6.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 2dbf3d9064d4cb07f0a2f7d06641c877a2e5ed24 Maintainer: samesch Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<sect1 xml:id="install.windows.commandline" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>PHP auf Windows-Systemen auf der Kommandozeile ausführen</title>
|
|
<para>
|
|
Dieser Abschnitt enthält Hinweise und Tipps, wie man PHP unter Windows auf
|
|
der Befehlszeile zum Laufen bringt.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
Lesen Sie zuerst die
|
|
<link linkend="install.windows.manual">Anleitung für die manuelle Installation</link>!
|
|
</para>
|
|
</note>
|
|
<para>
|
|
PHP kann ohne Änderungen an Windows von der Kommandozeile aus gestartet
|
|
werden.
|
|
<screen>
|
|
<![CDATA[
|
|
C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Mit ein paar kleinen Maßnahmen lässt sich dies jedoch vereinfachen. Einige
|
|
dieser Maßnahmen sollten bereits durchgeführt worden sein, werden aber hier
|
|
wiederholt, um eine vollständige Schritt-für-Schritt-Anleitung zu geben.
|
|
|
|
<itemizedlist>
|
|
<note>
|
|
<para>
|
|
Sowohl <envar>PATH</envar> als auch <envar>PATHEXT</envar> sind wichtige,
|
|
bereits existierende Windows-Systemvariablen, und es sollte darauf
|
|
geachtet werden, keine der beiden Variablen zu überschreiben, sondern sie
|
|
nur zu ergänzen.
|
|
</para>
|
|
</note>
|
|
|
|
<listitem>
|
|
<para>
|
|
Ergänzen Sie die Umgebungsvariable <envar>PATH</envar> um den Ort der
|
|
ausführbaren PHP-Datei (<filename>php.exe</filename>,
|
|
<filename>php-win.exe</filename> oder <filename>php-cli.exe</filename>,
|
|
abhängig von der PHP-Version und den Einstellungen für die Anzeige). Wie
|
|
Sie das PHP-Verzeichnis zu <envar>PATH</envar> hinzufügen können, erfahren
|
|
Sie im
|
|
<link linkend="faq.installation.addtopath">entsprechenden FAQ-Eintrag</link>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Ergänzen Sie die Umgebungsvariable <varname>PATHEXT</varname> um die
|
|
Erweiterung <literal>.PHP</literal>. Dies kann zusammen mit der Änderung
|
|
der Umgebungsvariablen <envar>PATH</envar> erledigt werden. Befolgen Sie
|
|
die in den <link linkend="faq.installation.addtopath">FAQ</link>
|
|
beschriebenen Schritte, aber ändern Sie die Umgebungsvariable
|
|
<varname>PATHEXT</varname> und nicht die Umgebungsvariable
|
|
<envar>PATH</envar>.
|
|
<note>
|
|
<para>
|
|
Die Position, an der das <literal>.PHP</literal> platziert wird,
|
|
bestimmt, welches Skript oder Programm ausgeführt wird, wenn es
|
|
übereinstimmende Dateinamen gibt. Wenn Sie <literal>.PHP</literal> zum
|
|
Beispiel vor <literal>.BAT</literal> platzieren, wird bei einer
|
|
gleichnamigen Batch-Datei das Skript ausgeführt und nicht die
|
|
Batch-Datei.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Verknüpfen Sie die Erweiterung <literal>.PHP</literal> mit einem
|
|
Dateityp. Dazu führen Sie den folgenden Befehl aus:
|
|
<screen>
|
|
<![CDATA[
|
|
assoc .php=phpfile
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Verknüpfen Sie den Dateityp <literal>phpfile</literal> mit der
|
|
entsprechenden ausführbaren PHP-Datei. Dazu führen Sie den folgenden
|
|
Befehl aus:
|
|
<screen>
|
|
<![CDATA[
|
|
ftype phpfile="C:\php\php.exe" -f "%1" -- %~2
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Wenn Sie diese Schritte befolgen, können PHP-Skripte von jedem Verzeichnis
|
|
aus ausgeführt werden, ohne dass Sie die ausführbare PHP-Datei oder die
|
|
Erweiterung <literal>.PHP</literal> eingeben müssen. Darüber hinaus können
|
|
Sie Parameter angeben, die an das Skript übergeben werden.
|
|
</para>
|
|
|
|
<para>
|
|
Im folgenden Beispiel sind einige der Änderungen in der Registry aufgeführt,
|
|
die manuell vorgenommen werden können.
|
|
<example>
|
|
<title>Änderungen in der Registry</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>
|
|
Mit diesen Änderungen kann derselbe Befehl wie folgt geschrieben werden:
|
|
<screen>
|
|
<![CDATA[
|
|
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
oder, wenn das Verzeichnis <literal>"C:\PHP Scripts"</literal> in der
|
|
Umgebungsvariablen <envar>PATH</envar> steht:
|
|
<screen>
|
|
<![CDATA[
|
|
script -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
Wenn diese Technik verwendet werden soll, um PHP-Skripte als
|
|
Befehlszeilenfilter zu nutzen, wie im folgenden Beispiel, gibt es ein
|
|
kleines Problem:
|
|
<screen>
|
|
<![CDATA[
|
|
dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
oder
|
|
<screen>
|
|
<![CDATA[
|
|
dir | script -arg1 -arg2 -arg3
|
|
]]>
|
|
</screen>
|
|
Es kann vorkommen, dass das Skript einfach hängen bleibt und nichts ausgibt.
|
|
Um dies zu beheben, muss eine weitere Änderung in der Registry vorgenommen
|
|
werden.
|
|
<screen>
|
|
<![CDATA[
|
|
Windows Registry Editor Version 5.00
|
|
|
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
|
|
"InheritConsoleHandles"=dword:00000001
|
|
]]>
|
|
</screen>
|
|
Weitere Informationen zu diesem Problem finden Sie im
|
|
<link xlink:href="https://www.betaarchive.com/wiki/index.php/Microsoft_KB_Archive/321788">Microsoft Knowledgebase Article : 321788</link>.
|
|
Ab Windows 10 scheint diese Einstellung geändert worden zu sein, sodass die
|
|
Standardinstallation von Windows 10 geerbte Konsolen-Handles automatisch
|
|
unterstützt. Dieser
|
|
<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">Microsoft-Forenbeitrag</link>
|
|
liefert die Erklärung.
|
|
</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
|
|
-->
|