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''] = ''[email protected]'';
?>
¿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 protected]" php script.php
<?php
print_r($_SERVER);
Prueba:
$ recipient="[email protected]" php script.php | grep recipient
[recipient] => [email protected]
O bien, puede exportarlo o setenv (según su sistema operativo), como
$ export recipient="[email protected]"
$ setenv recipient="[email protected]"
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="[email protected]"
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 )
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 );