A veces podemos vernos en la necesidad de conocer que sistema operativo, o versión de este es en el que se esta ejecutando nuestro codigo PHP, por ejemplo si necesitamos establecer la configuración de las locales.
Tenemos dos opciones para conocerlo, la primera es por medio de la constante PHP_OS, y otra es con la función php_uname(). La primera solo nos va a devolver el sistema operativo, p.e Linux, FreeBSD, WINNT, … en cambio con la funcion nos devolvera una información mas completa. Por ejemplo
echo php_uname(); echo PHP_OS; /* Algunas posibles: Linux localhost 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 i686 Linux FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001 FreeBSD Windows NT XN1 5.1 build 2600 WINNT */
La funcion php_uname(), puede aceptar varios parametros, mode para poder especificar que tipo de salida queremos. Estos parametros son:
- ‘a’: Es la opción por defecto. Contiene todos los modos de la secuencia «s n r v m».
- ‘s’: Nombre del sistema operativo. eg. FreeBSD.
- ‘n’: Nombre del host. eg. localhost.example.com.
- ‘r’: Nombre de la distribucion. eg. 5.1.2-RELEASE.
- ‘v’: Informacion de la version. Varia mucho dependiendo de los sistemas operativos.
- ‘m’: Tipo de maquina. eg. i386.
echo php_uname(); // Linux pajaroto.ensenalia.com 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 i686 echo php_uname('s'); // Linux echo php_uname('n'); // Localhost echo php_uname('r'); //3.2.0-27-generic echo php_uname('v'); // #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 echo php_uname('m'); // i686
Thanks for your tohughts. It’s helped me a lot.