PHP 8.0.0 Beta 4 available for testing


(PHP 4, PHP 5, PHP 7)

$argcO número de argumentos passados para o script


Contém o número de argumentos passados para o atual script quando executando através da linha de comando.

Nota: O nome do arquivo do script é sempre passado como um argumento para o script, portanto o valor mínimo de $argc é 1.

Nota: Esta variável está sempre disponível quando register_argc_argv está habilitada.


Exemplo #1 Exemplo da $argc


Quando executando o exemplo com: php script.php arg1 arg2 arg3

O exemplo acima irá imprimir algo similar à:


add a note add a note

User Contributed Notes 5 notes

9 years ago
To find out are you in CLI or not, this is much better in my opinion:
if (PHP_SAPI != "cli") {
hvuaka at gmail dot com
6 years ago
You can use php_sapi_name() to check whether it is cli or not
karsten at typo3 dot org
11 years ago
Note: when using CLI $argc (as well as $argv) are always available, regardless of register_argc_argv, as explained at
elm at r3m0ve dot gmx dot ch
6 years ago
To decide whether my script is run from CLI I simply create a PHP script that handles only CLI invocations.

File cron.php:

// Set environment variables your application depends on
$_SERVER[ 'HTTP_HOST' ] = 'domain.tld';
// $_SERVER[ 'REQUEST_URI' ] = '/some/URI/if/needed';

// Use the environment to read out required values
$task = $_SERVER[ 'argv' ][ 1 ];

// Instanciate the dispatcher or whatever you use
$dispatcher = new Dispatcher();
$dispatcher->handle( $task );


This way my application doesn't have to know about CLI at all.
1 year ago
int main(int argc, char *argv[])
  fprintf(stdout,"argumen count : %d\n",argc);
  fprintf(stdout,"argumen vector : %s\n",argv);
  return 0;
To Top