2010-02-04 22 views
19

POSIX no aparece cuando corro php -m cmd, sin embargo, lo veo desde el phpinfo()–enable-posix=shared en Linux con Plesk 9.cómo instalar POSIX en php

Básicamente, no puedo usar funciones como se describe en http://www.php.net/manual/en/ref.posix.php

esta muestra no existe:

if (function_exists('posix_getuid')) { 
    echo "posix_getuid available"; 
} else { 
    echo "posix_getuid not available"; // this prints in my server. 
} 

alguien podría mostrar cómo instalarlo? Gracias.

 
[PHP Modules] 
bz2 
calendar 
ctype 
curl 
date 
dbase 
dom 
exif 
fileinfo 
filter 
ftp 
gd 
geoip 
gettext 
gmp 
hash 
iconv 
imap 
ionCube Loader 
json 
libxml 
mbstring 
mcrypt 
memcache 
mhash 
mysql 
mysqli 
openssl 
pcntl 
pcre 
PDO 
pdo_mysql 
pdo_sqlite 
readline 
Reflection 
session 
shmop 
SimpleXML 
sockets 
SPL 
sqlite 
standard 
tokenizer 
wddx 
xml 
xmlreader 
xmlwriter 
xsl 
zip 
zlib 
+0

¿Estás en Windows o Linux? –

+0

¿Qué distribución de Linux? –

Respuesta

37

he encontrado la solución:

yum install php-process 

Este paquete permite php-POSIX.

+1

BTW: si está utilizando un AMI típico de Amazon, querrá que este paquete para System_Daemon in pear funcione correctamente. – Ross

+0

El nombre del paquete php-process depende de la ejecución de la versión de php, como 'php56w-process.x86_64',' php71w-process.x86_64'. –

3

Si bien resuelto, el problema original parece ser que posix_getpwuid no es compatible con Windows:

de: http://www.php.net/manual/en/function.posix-getpwuid.php

En Windows, posix_getpwuid() no se implementa

  • si sólo desea el nombre de usuario del usuario actual, puede usar get_current_user().

  • Para obtener correctamente el usuario en funcionamiento, pruebe si function_exists('posix_getpwuid') y si no, suponga que se está ejecutando en Windows y llame al getenv('USERNAME').

+0

Tu respuesta no tiene relación con la pregunta, creo. El problema ocurrió en Linux, y la función utilizada fue diferente. – Sven

1

En openSUSE comando use zypper install php-posix para instalar php-proceso para usar la función php posix_getuid