cvs: phpdoc-cs /features commandline.xml
[email protected] ("Jakub Vrana") Sun, 07 Dec 2003 21:27:27 -0000
| Newsgroups | php.doc.cs |
|---|---|
| Message-ID | <cvsvrana1070832447@cvsserver> |
vrana Sun Dec 7 16:27:27 2003 EDT
Modified files:
/phpdoc-cs/features commandline.xml
Log:
Moved from appendices
vrana-20031207162727.txt
(text/plain, 9.9 KB)
Index: phpdoc-cs/features/commandline.xml
diff -u /dev/null phpdoc-cs/features/commandline.xml:1.3
--- /dev/null Sun Dec 7 16:27:27 2003
+++ phpdoc-cs/features/commandline.xml Sun Dec 7 16:27:27 2003
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<!-- EN-Revision: 1.9 Maintainer: luk Status: ready -->
+
+<!--
+ TODO:
+
+ The command line options not in the
+ list, but in the -h output below:
+
+ -e, -z
+
+ It would be best to document these, and
+ collect more info about -c and -d!
+-->
+<chapter id="features.commandline">
+ <title>Pou¾ití PHP z pøíkazové øádky</title>
+ <para>
+ Mo¾nosti PHP pøi spou¹tìní z pøíkazové øádky pøiná¹ejí mnoho u¾itku,
+ pokud chcete ladit nebo testovat va¹e nastavení PHP, hodí se v¹ak
+ i pro pøípady, kdy byste rádi pou¾ili PHP pro jiné úèely ne¾ WWW
+ skriptování.
+ </para>
+ <para>
+ Uvìdomte si, ¾e mù¾ete v¾dy smìrovat výstup programu PHP do vnìj¹ího
+ souboru pomocí znaku >, tak¾e <literal>php -q test.php >
+ test.html</literal> vytiskne výstup <filename>test.php</filename>
+ bez HTTP hlavièek do <filename>test.html</filename> ve stejném adresáøi.
+ </para>
+ <para>
+ Mo¾nosti pøíkazové øádky mù¾ete vyu¾ívat pouze tehdy, máte-li (spustitelný)
+ program PHP. Pokud jste zkompilovali pouze modul do serveru a nemáte na
+ poèítaèi ¾ádnou CGI verzi, nemù¾ete pøíkazovou øádku pou¾ívat.
+ Pro u¾ivatele Windows je v binárním balíèku jak serverový modul, tak
+ spustitelný soubor nazvaný <filename>php.exe</filename>.
+ </para>
+ <para>
+ Tento seznem voleb pro pøíkazovou øádku je konzistentní s PHP 4.0.6.
+ Aktuální seznam vèetnì jednoøádkových popisù mù¾ete získat pomocí parametru
+ <literal>-h</literal>. Výstup <literal>php -h</literal> by mìl vypadat
+ pøibli¾nì takto:
+ <screen>
+<![CDATA[
+Usage: php [-q] [-h] [-s [-v] [-i] [-f <file>] | {<file> [args...]}
+ -q Quiet-mode. Suppress HTTP Header output.
+ -s Display colour syntax highlighted source.
+ -f <file> Parse <file>. Implies `-q'
+ -v Version number
+ -C Do not chdir to the script's directory
+ -c <path> Look for php.ini file in this directory
+ -d foo[=bar] Define INI entry foo with value 'bar'
+ -e Generate extended information for debugger/profiler
+ -z <file> Load Zend extension <file>.
+ -l Syntax check only (lint)
+ -m Show compiled in modules
+ -i PHP information
+ -h This help
+]]>
+ </screen>
+ </para>
+ <para>
+ Zde uvádíme nìkteré z nejdùle¾itìj¹ích voleb s detailním vysvìtlením.
+ </para>
+ <para>
+ <table>
+ <title>Volby pro pøíkazovou øádku</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Volba</entry>
+ <entry>Popis</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>-q</entry>
+ <entry>
+ Potlaèí výstup HTTP hlavièek. Normálnì PHP tiskne HTTP hlavièky
+ pro volající program (typicky WWW server) k pøedání prohlí¾eèi.
+ Pøi pou¾ití pro aplikace spou¹tìné z pøíkazové øádky nemají hlavièky
+ smysl.
+ </entry>
+ </row>
+ <row>
+ <entry>-s</entry>
+ <entry>
+ Zobrazí barevnì vysvícený zdrojový soubor s daným názvem.
+ Je to toté¾, jako kdy¾ se zdroj vytiskne pomocí funkce
+ <function>highlight_file</function> v PHP skriptu.
+ </entry>
+ </row>
+ <row>
+ <entry>-f</entry>
+ <entry>
+ Parsuje daný soubor a hledá syntaktické a fatální chyby.
+ Tato volba implikuje -q. Pou¾ijte pro ladicí úèely
+ (debugging).
+ </entry>
+ </row>
+ <row>
+ <entry>-v</entry>
+ <entry>
+ Zavoláním PHP s tímto pøepínaèem si mù¾ete vypsat èíslo verze,
+ napø. 4.0.6.
+ </entry>
+ </row>
+ <row>
+ <entry>-C</entry>
+ <entry>
+ Za normálních okolností PHP mìní pracovní adresáø na ten, kde se
+ nachází spou¹tìný skript. To napøíklad umo¾òuje otvírat soubory
+ ve stejném adresáøi urèením pouhého názvu souboru (bez cesty).
+ Pokud byste toto chtìli potlaèit, pou¾ijte tuto volbu.
+ </entry>
+ </row>
+ <row>
+ <entry>-c</entry>
+ <entry>
+ Pou¾itím tohoto argumentu mù¾ete specifikovat alternativní
+ umístìní souboru <filename>php.ini</filename>, tak¾e PHP bude
+ hledat konfiguraèní soubor zde namísto implicitního umístìní.
+ </entry>
+ </row>
+ <row>
+ <entry>-d</entry>
+ <entry>
+ Touto volbou mù¾ete provést individuální nastavení
+ <filename>php.ini</filename> bìhem provádìní skriptu.
+ </entry>
+ </row>
+ <row>
+ <entry>-l</entry>
+ <entry>
+ Otestuje daný soubor na syntaktické chyby. Tato volba implikuje
+ -q. Pou¾ijte ji pro úèely ladìní. Nebudou se hledat fatální chyby
+ (jako jsou nedefinované funkce). Pokud chcete hledat i fatální
+ chyby, pou¾ijte -f.
+ </entry>
+ </row>
+ <row>
+ <entry>-m</entry>
+ <entry>
+ Pou¾itím této volby PHP vypí¹e zabudované (a naètené) PHP a Zend
+ moduly, èísla verzí PHP a Zend, a také krátkou informaci o
+ autorských právech k jádru Zend.
+ </entry>
+ </row>
+ <row>
+ <entry>-i</entry>
+ <entry>
+ Tento pøepínaè zavolá funkci <function>phpinfo</function> a vypí¹e
+ její výsledek. Pokud PHP nepracuje správnì, je dobré spustit
+ <literal>php -i</literal> a podívat se, zda se nevypsala nìjaká
+ chybová hlá¹ení pøed nebo uvnitø informaèních tabulek.
+ </entry>
+ </row>
+ <row>
+ <entry>-h</entry>
+ <entry>
+ Touto volbou získáte informace o aktuálních volbách pøíkazové øádky
+ a jednoøádkové popisy o tom, co dìlají.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ <para>
+ Spustitelná verze PHP mù¾e být pou¾ita pro spou¹tìní skriptù absolutnì
+ nezávisle na webovském serveru. Pokud jste na unixovém systému, mù¾ete
+ do PHP skriptu pøidat speciální první øádek a udìlat z nìj spustitelný
+ program - systém bude vìdìt, jaký program by mìl skript zpracovávat.
+ Na Windows mù¾ete asociovat <literal>php.exe -q</literal> se souborovou
+ pøíponou <literal>.php</literal> (pro spou¹tìní dvojklikem), nebo mù¾ete
+ vytvoøit dávkový soubor pro spu¹tìní skriptu pøes PHP. První øádek skriptu
+ pro práci v Unixu nebude ve Windows vadit, tak¾e tímto zpùsobem mù¾ete
+ psát programy pro více platforem. Jednoduchý pøíklad psaní PHP programu
+ pro pøíkazovou øádku je uveden ní¾e.
+ </para>
+ <example>
+ <title>Skript urèený ke spou¹tìní z pøíkazové øádky (script.php)</title>
+ <programlisting role="php">
+<![CDATA[
+#!/usr/bin/php -q
+<?php
+
+if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
+?>
+
+This is a command line PHP script with one option.
+
+ Usage:
+ <?php echo $argv[0]; ?> <option>
+
+ <option> can be some word you would like
+ to print out. With the --help, -help, -h,
+ or -? options, you can get this help.
+
+<?php
+} else {
+ echo $argv[1];
+}
+?>
+]]>
+ </programlisting>
+ </example>
+ <para>
+ Ve vý¹e uvedeném skriptu jsme pou¾ili speciální první øádek k indikaci,
+ ¾e by tento soubor mìl být spou¹tìn pomocí PHP a nemìl by vypisovat
+ HTTP hlavièky. Jsou zde dvì promìnné, které mù¾ete pou¾ít pøi psaní
+ aplikací pro PHP spou¹tìných z pøíkazové øádky:
+ <varname>$argc</varname> a
+ <varname>$argv</varname>. První z nich je poèet argumentù + 1 (název
+ bì¾ícího skriptu). Druhá je pole obsahující argumenty, poèínaje názvem
+ skriptu jako èíslo 0 (<varname>$argv[0]</varname>).
+ </para>
+ <para>
+ V ukázkovém programu se testuje, zda je argumentù více èi ménì ne¾ jeden.
+ Pokud by argument byl <literal>--help</literal>,
+ <literal>-help</literal>, <literal>-h</literal> nebo <literal>-?</literal>,
+ vytiskne se nápovìda k programu vèetnì skuteèného názvu skriptu.
+ Pokud by byly pøidány nìjaké dal¹í argumenty, vytisknou se na výstup.
+ </para>
+ <para>
+ Pokud byste chtìli spou¹tìt uvedený skript pod Unixem, musíte ho udìlat
+ spustitelným (nastavit práva pro spou¹tìní), a pak jednodu¹e napsat
+ <literal>script.php vypis_tohle</literal> nebo
+ <literal>script.php -h</literal>. Na Windows musíte pro tento úkol vytvoøit
+ dávkový soubor:
+ </para>
+ <example>
+ <title>Dávkový soubor pro spou¹tìní PHP skriptu z pøíkazové øádky (script.bat)</title>
+ <programlisting role="winbat">
+@c:\php\php.exe -q script.php %1 %2 %3 %4
+ </programlisting>
+ </example>
+ <para>
+ Za pøedpokladu, ¾e jste vý¹e uvedený program nazvali
+ <filename>script.php</filename> a soubor
+ <filename>php.exe</filename> máte ulo¾ený jako
+ <filename>c:\php\php.exe</filename>, mù¾ete tento dávkový soubor spou¹tìt
+ takto:
+ <literal>script.bat echothis</literal> nebo
+ <literal>script.bat -h</literal>.
+ </para>
+ <para>
+ Viz také dokumentaci roz¹íøení <link linkend="ref.readline">Readline</link>,
+ kde najdete více funkcí pro pou¾ití k aplikacím PHP spou¹tìných z
+ pøíkazové øádky.
+ </para>
+</chapter>
+
+<!-- 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:"../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->