2008-10-17 14 views
5

Cuando una secuencia de comandos se ejecuta bajo Apache, inserto $_SERVER['SERVER_NAME'] valor en un mensaje de correo electrónico de informe de errores.¿Hay una función o variable de PHP que proporcione el nombre de host local?

Sin embargo, si un script web realiza un trabajo de "trabajador" con nohup php ..., $_SERVER['SERVER_NAME'] parece estar vacío allí. Por lo tanto, si ocurre un error, se informa sin un nombre de host.

¿Puedo obtener de forma fiable el nombre de host a través de PHP, sin llamar Unix comando hostname?

Respuesta

14

php_uname("n")

(PHP 4> = 4.0.2, PHP 5)
php_uname - Devuelve información sobre el sistema de PHP operativo se está ejecutando en

php_uname() devuelve una descripción de la sistema operativo PHP es ejecutándose. Esta es la misma cadena que se ve en la parte superior de la salida phpinfo(). Para el nombre de sólo el sistema operativo, considere utilizando la constante PHP_OS, pero tenga en cuenta esta constante contendrá el PHP sistema operativo fue construido.

En algunas plataformas anteriores de UNIX, es posible que no pueda determinar la información del sistema operativo actual en cuyo caso volverá a mostrar el sistema operativo en el que se creó PHP. Esto solo ocurrirá si la llamada a la biblioteca de uname() no existe o no funciona.

0

Puede utilizar _GLOBALS['MACHINENAME'] para obtener la información directamente de la globalsarray.

Cuestiones relacionadas