Skillnader jämfört med andra SAPIs: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== Skillnader jämfört med andra SAPIs == CLI SAPI skiljer sig på flera noterbara sätt jämfört med andra SAPIs: * Till skillnad från CGI SAPI, skriver CLI inte ut några headers. * Även om CGI SAPI tillhandahåller ett sätt att undertrycka HTTP-headers finns det ingen motsvarande möjlighet i CLI SAPI. * CLI startas upp i tyst läge som standard, men -q och --no-header switcharna behålls för kompatibilitets skull så att äldre CGI-skript kan användas. * Den...') |
Admin (diskussion | bidrag) |
||
(En mellanliggande sidversion av samma användare visas inte) | |||
Rad 1: | Rad 1: | ||
CLI SAPI skiljer sig på flera noterbara sätt jämfört med andra SAPIs: | CLI SAPI skiljer sig på flera noterbara sätt jämfört med andra SAPIs: | ||
Rad 13: | Rad 12: | ||
! Direktiv !! Standardvärde i CLI SAPI !! Kommentar | ! Direktiv !! Standardvärde i CLI SAPI !! Kommentar | ||
|- | |- | ||
| html_errors || false || Standardinställt till falskt för att det kan vara svårt att läsa felmeddelanden i skal-miljön. | | html_errors || [[false]]|| Standardinställt till falskt för att det kan vara svårt att läsa felmeddelanden i skal-miljön. | ||
|- | |- | ||
| implicit_flush || true || I en skal-miljö är det önskvärt att utdata från print, echo | | implicit_flush || [[true]]|| I en skal-miljö är det vanligtvis önskvärt att utdata, som från print, echo och liknande, visas omedelbart och inte hålls i en buffert. Trots detta är det fortfarande möjligt att använda utdatapuffring för att fördröja eller manipulera standardutdata. | ||
|- | |- | ||
| max_execution_time || 0 (obegränsat) || PHP i en skal-miljö används ofta för | | max_execution_time || 0 (obegränsat) || PHP i en skal-miljö används ofta för ett mycket mer varierat utbud av ändamål än typiska webbaserade skript, och eftersom dessa kan köras under mycket långa perioder, är den maximala körningstiden inställd på obegränsad. | ||
|- | |- | ||
| register_argc_argv || true || | | register_argc_argv || [[true]]|| Att sätta detta till [[true]] innebär att skript som körs via CLI SAPI alltid har tillgång till argc (antal argument som skickas till applikationen) och argv (array av de faktiska argumenten). | ||
PHP-variablerna [[$argc]] och [[$argv]] sätts automatiskt till lämpliga värden när CLI SAPI används. Dessa värden kan också hittas i [[$_SERVER]]-arrayen, till exempel: $_SERVER['argv']. | |||
|- | |- | ||
| output_buffering || false || Output buffering-funktionerna är tillgängliga även om inställningen är hårdkodad till falsk. | | output_buffering || [[false]]|| Output buffering-funktionerna är tillgängliga även om inställningen är hårdkodad till falsk. | ||
|- | |- | ||
| max_input_time || false || PHP CLI stöder inte GET, POST eller filuppladdningar. | | max_input_time || [[false]]|| PHP CLI stöder inte GET, POST eller filuppladdningar. | ||
|} | |} | ||
Rad 70: | Rad 70: | ||
[[PHP]] | [[PHP]] | ||
[[Funktioner]] | [[Funktioner]] | ||
[[Kategori:Php]] | [[Kategori:Php]] |
Nuvarande version från 3 september 2024 kl. 14.41
CLI SAPI skiljer sig på flera noterbara sätt jämfört med andra SAPIs:
- Till skillnad från CGI SAPI, skriver CLI inte ut några headers.
- Även om CGI SAPI tillhandahåller ett sätt att undertrycka HTTP-headers finns det ingen motsvarande möjlighet i CLI SAPI.
- CLI startas upp i tyst läge som standard, men -q och --no-header switcharna behålls för kompatibilitets skull så att äldre CGI-skript kan användas.
- Den ändrar inte arbetsmappen till skriptets mapp (-C och --no-chdir switchar behålls för kompatibilitet).
- Felmeddelanden är i klartext (ingen HTML-formatering).
Det finns vissa php.ini-direktiv som överskrivs av CLI SAPI eftersom de inte är meningsfulla i skal-miljöer:
Direktiv | Standardvärde i CLI SAPI | Kommentar |
---|---|---|
html_errors | false | Standardinställt till falskt för att det kan vara svårt att läsa felmeddelanden i skal-miljön. |
implicit_flush | true | I en skal-miljö är det vanligtvis önskvärt att utdata, som från print, echo och liknande, visas omedelbart och inte hålls i en buffert. Trots detta är det fortfarande möjligt att använda utdatapuffring för att fördröja eller manipulera standardutdata. |
max_execution_time | 0 (obegränsat) | PHP i en skal-miljö används ofta för ett mycket mer varierat utbud av ändamål än typiska webbaserade skript, och eftersom dessa kan köras under mycket långa perioder, är den maximala körningstiden inställd på obegränsad. |
register_argc_argv | true | Att sätta detta till true innebär att skript som körs via CLI SAPI alltid har tillgång till argc (antal argument som skickas till applikationen) och argv (array av de faktiska argumenten).
PHP-variablerna $argc och $argv sätts automatiskt till lämpliga värden när CLI SAPI används. Dessa värden kan också hittas i $_SERVER-arrayen, till exempel: $_SERVER['argv']. |
output_buffering | false | Output buffering-funktionerna är tillgängliga även om inställningen är hårdkodad till falsk. |
max_input_time | false | PHP CLI stöder inte GET, POST eller filuppladdningar. |
Observera:
- Dessa direktiv kan inte initialiseras med ett annat värde från konfigurationsfilen php.ini. De kan dock ändras under körning.
- Det rekommenderas att ställa in ignore_user_abort för kommandoradsskript.
CLI SAPI ändrar inte den aktuella katalogen till den katalog där skriptet körs.
Exempel #1 Visar skillnaden till CGI SAPI:
<?php
// Vårt enkla testprogram som heter test.php
echo getcwd(), "\n";
?>
Med CGI-versionen, blir utmatningen:
$ pwd /tmp $ php -q another_directory/test.php /tmp/another_directory
Det visar tydligt att PHP ändrar sin nuvarande katalog till skriptets katalog.
Med CLI SAPI blir det:
$ pwd /tmp $ php -f another_directory/test.php /tmp
Detta tillåter större flexibilitet när man skriver skalverktyg i PHP.
Observera:
- CGI SAPI stöder detta beteende i CLI SAPI genom att använda -C-switchen när det körs från kommandoraden.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/features.commandline.differences.php
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp.se som har sponsrat Linux.se med webserver.