PHP.mk документација

Опции

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

features.commandline.options.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека features.commandline.options.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Опции

Референца за `features.commandline.options.php` со подобрена типографија и навигација.

features.commandline.options.php

Опции на командната линија

The list of command line options provided by the PHP binary can be queried at any time by running PHP with the -h прекинувач:

Usage: php [options] [-f] <file> [--] [args...]
   php [options] -r <code> [--] [args...]
   php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
   php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
   php [options] -- [args...]
   php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.

Опции на командната линија
Опција Списокот на опции од командната линија обезбедени од PHP бинарниот може да се праша во секое време со стартување на PHP со = NULL
-a --interactive

Долга опција Интерактивна школка section.

-b --bindpath

Стартувајте PHP интерактивно. За повеќе информации, видете гоCGI Патека за поврзување за надворешен FASTCGI Server режим (

-C --no-chdir

само).CGI Патека за поврзување за надворешен FASTCGI Server режим (

-q --no-header

Не менувај директориум во директориумот на скриптата ( HTTP Тивок режим. ПотисниCGI Патека за поврзување за надворешен FASTCGI Server режим (

-T --timing

излез на заглавјето ( count Измерете го времето на извршување на скриптата повтореноCGI Патека за поврзување за надворешен FASTCGI Server режим (

-c --php-ini

пати ( php.iniСпецифицира или директориум во кој да се бара INI , или прилагодено php.iniдатотека (која не мора да се вика

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php

), на пр.: php.ini Ако оваа опција не е специфицирана, се бара во.

-n --no-php-ini

стандардни локации php.ini completely.

-d --define

Игнорирај php.iniПоставете прилагодена вредност за која било од конфигурациските директиви дозволени во

 -d configuration_directive[=value]
 

Пример #1 Пример за користење -d за поставување INI поставка

# Omitting the value part will set the given configuration directive to "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Passing an empty value part will set the configuration directive to ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# The configuration directive will be set to anything passed after the '=' character
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"
-e --profile-info

Активирајте го режимот за проширени информации, за употреба од дебагер/профилер.

-f --file

Анализирајте и извршете ја наведената датотека. -f е опционално и може да се изостави - доволно е само да се обезбеди името на датотеката за извршување.

-h и -? --help и --usage Прикажете список со опции од командната линија со еднолиниски описи за тоа што прават.
-i --info Повикува phpinfo(), и ги печати резултатите. Ако PHP не работи правилно, се препорачува да се користи командата на Windows) и стартувајте и видете дали какви било пораки за грешки се прикажуваат пред или наместо табелите со информации. Внимавајте дека кога го користите режимот CGI излезот е во HTML и затоа многу голем.
-l --syntax-check

Проверете ја синтаксата, но не извршувајте го дадениот PHP код. Влезот од стандардниот влез ќе се обработи ако не се специфицирани имиња на датотеки, во спротивно ќе се провери секое име на датотека. При успех, текстот No syntax errors detected in <filename> се запишува на стандарден излез. При неуспех, текстот Errors parsing <filename> се запишува на стандарден излез покрај внатрешната грешка на парсерот. Ако се најдат какви било неуспеси во наведените датотеки (или стандарден влез), вратениот код на школката се поставува на -1, во спротивно вратениот код на школката се поставува на 0.

Оваа опција нема да најде фатални грешки (како недефинирани функции) кои бараат извршување на кодот.

Забелешка:

Пред PHP 8.3.0, беше можно да се специфицира само едно име на датотека за проверка.

Забелешка:

Оваа опција не работи заедно со -r option.

-m --modules

Пример #2 Печатење вградени (и вчитани) PHP и Zend модули

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]
-r --run

Списокот на опции од командната линија обезбедени од PHP бинарниот може да се побара во секое време со стартување на PHP со<?php and ?>Овозможува извршување на PHP вклучено директно од командната линија. PHP почетните и завршните тагови ( не се потребни и ќе предизвикаат грешка при парсирање ако се присутни.

Забелешка:

Мора да се внимава при користење на оваа форма на PHP да не се судира со замена на командната линија на променливи направена од школката.

Пример #3 Добивање грешка во синтаксата при користење двојни наводници

$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1

Parse error: syntax error, unexpected '=' in Command line code on line 1

Проблемот овде е што sh/bash врши замена на променливи дури и кога користи двојни наводници ". Бидејќи променливата $foo веројатно нема да биде дефинирана, таа се проширува на ништо што резултира со кодот што се пренесува на PHP за извршување всушност чита:

$ php -r " = get_defined_constants();"

Правилниот начин би бил да се користат единечни наводници '. Променливите во единечно цитирани низи не се прошируваат од sh/bash.

Пример #4 Користење единечни наводници за спречување на замена на променливи на школката

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

Ако користите школка различна од sh/bash, може да се доживеат дополнителни проблеми - ако е соодветно, треба да се отвори извештај за грешка на » https://github.com/php/php-src/issues. Сè уште е лесно да се влезе во проблеми при обидот да се користат променливи (школка или PHP) во код од командната линија, или да се користат коси црти за бегство, затоа бидете многу внимателни кога го правите тоа. Предупредени сте!

Забелешка:

-r е достапно во CLI SAPI, но не и во CGI SAPI.

Забелешка:

Оваа опција е наменета само за многу основен код, така што некои директиви за конфигурација (како што се auto_prepend_file and auto_append_file) се игнорираат во овој режим.

-B --process-begin

PHP код за извршување пред обработка на stdin.

-R --process-code

PHP код за извршување за секој влезен ред.

Во овој режим се достапни две специјални променливи: $argn and $argi. $argn ќе ја содржи линијата што PHP ја обработува во тој момент, додека $argi ќе го содржи бројот на линијата.

-F --process-file

PHP датотека за извршување за секоја линија од влезот.

-E --process-end

PHP код за извршување по обработката на влезот.

Пример #5 Користење на -B, -R and -E опции за броење на бројот на линии од проект.

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328
-S --server

Стартува вграден веб сервер.

-t --docroot Специфицира корен документ за вграден веб сервер.
-s --syntax-highlight и --syntax-highlighting

Прикажи извор со синтаксна боја.

Оваа опција користи внатрешен механизам за парсирање на датотеката и пишува HTML верзија со бои на стандарден излез. Имајте предвид дека се што прави е да генерира блок од <code> [...] </code> HTML тагови, без HTML заглавја.

Забелешка:

Оваа опција не работи заедно со -r option.

-v --version

Пример #6 Користење -v за да го добиете SAPI името и верзијата на PHP и Zend

$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
-w --strip

Прикажи извор со отстранети коментари и празни места.

Забелешка:

Оваа опција не работи заедно со -r option.

-z --zend-extension

Вчитај Zend екстензија. Ако е дадено само име на датотека, PHP се обидува да ја вчита оваа екстензија од тековната стандардна патека за библиотеки на вашиот систем (обично /etc/ld.so.conf на Linux системи, на пример). Поминувањето име на датотека со апсолутна патека нема да ја користи системската патека за пребарување на библиотеки. Релативно име на датотека што вклучува информации за директориумот ќе му каже на PHP да се обиде да ја вчита екстензијата релативно на тековната директорија.

    --ini

Прикажи имиња на конфигурациски датотеки и скенирани директориуми.

Пример #6 Основна употреба на --ini example

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Прикажи информации за дадената функција или метод на класа (на пр. број и име на параметрите).

Овозможува извршување на PHP вклучено директно на командната линија. PHP почеток и крај тагови ( Рефлексија support.

Оваа опција е достапна само ако PHP е компајлиран со --rf usage

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
}
--rc --rclass

Пример #8 основно

Овозможува извршување на PHP вклучено директно на командната линија. PHP почеток и крај тагови ( Рефлексија support.

: форматирање на валута --rc example

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Прикажи информации за дадената класа (листа на константи, својства и методи). php.ini Прикажи информации за даденото проширување (листа на

Овозможува извршување на PHP вклучено директно на командната линија. PHP почеток и крај тагови ( Рефлексија support.

опции, дефинирани функции, константи и класи). --re example

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--rz --rzendextension

Пример #10 phpinfo()).

--ri --rextinfo

Прикажи информации за конфигурацијата за даденото Zend проширување (истите информации што се враќаат од phpinfo()Прикажи информации за конфигурацијата за даденото проширување (истите информации што се враќаат од

). Основните информации за конфигурацијата се достапни со користење на "main" како име на проширувањето. --ri example

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo

Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Забелешка:

Опции -rBRFEH, --ini and --r[fcezi] Пример #11 CLI.

Белешки од корисници 2 забелешки

dch
пред 2 години
If you would like to see the PHP's current configuration using the -i switch from the shell command line with php.ini specified, then the order of arguments is important. Putting -i after -c gives the intended result.

Info is printed out for the default php.ini (cli)
$ php -i --php-ini /etc/php/7.4/fpm/php.ini | grep -i "loaded conf"
Loaded Configuration File => /etc/php/7.4/cli/php.ini

Info is printed out for the desired php.ini (fpm)
$ php --php-ini /etc/php/7.4/fpm/php.ini -i | grep -i "loaded conf"
Loaded Configuration File => /etc/php/7.4/fpm/php.ini
Ap.Muthu
пред 11 години
If we start the php's built in webserver (PHP v5.4 onwards) with:
        php -S localhost:8000 -t htdocs
and have an image file picture.jpg in it
and reference it in a html page with:
         <img src="picture.jpg">
the rendered page will not show the image and the html code behind the image is:
        http://localhost:8000/index.php/picture.jpg

If however, the html code in the page is:
         <img src="/picture.jpg">
the picture displays correctly.

Hence relative addressing is broken in PHP 5.4.33 Win32 VC9 build.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.