real - ¿Establecer la variable $_SERVER al llamar a PHP desde la línea de comandos?
busqueda inteligente php mysql (4)
¿Qué hay de la configuración de una página ficticia llamada dummy.php con este contenido:
<?php
$_SERVER[''recipient''] = ''me@gmail.com'';
?>
¿Es posible pasar una variable $ _SERVER a un script PHP a través de la línea de comando?
Específicamente, estoy tratando de configurar $ _SERVER [''recipient''] de forma manual para que pueda probar las tuberías de correo electrónico sin configurar un servidor de correo.
En * nix:
$ recipient="email@domain.com" php script.php
<?php
print_r($_SERVER);
Prueba:
$ recipient="email@domain.com" php script.php | grep recipient
[recipient] => something@domain.com
O bien, puede exportarlo o setenv (según su sistema operativo), como
$ export recipient="email@domain.com"
$ setenv recipient="email@domain.com"
Yo personalmente uso lo siguiente.
Ejemplo: configure $ _SERVER [''recipient] en mi línea de comandos de PHP.
Con OS X
- Siga las instrucciones en https://github.com/ersiner/osx-env-sync
Agregue la siguiente línea al archivo '' ~ / .bash_profile '' ( créelo , si no existe)
export recipient="something@example.com"
Con Ubuntu GNU / Linux
Agregue la siguiente línea al archivo '' / etc / environment '' (créelo, si no existe, consulte https://help.ubuntu.com/community/EnvironmentVariables )
recipient=something@example.com
La respuesta de @sberry es correcta.
... pero debido a que llegué a esta página buscando establecer valores predeterminados para la matriz $_SERVER
, cuando ejecuto PHP desde la línea de comandos, aquí está mi propia respuesta. Espero que pueda ayudar a alguien.
empty( $_SERVER[''HTTP_HOST''] ) && $_SERVER[''HTTP_HOST''] = ''localhost'';
empty( $_SERVER[''REQUEST_URI''] ) && $_SERVER[''REQUEST_URI''] = ''/'';
empty( $_SERVER[''DOCUMENT_ROOT''] ) && $_SERVER[''DOCUMENT_ROOT''] = __DIR__;
print_r( $_SERVER );