2010-02-04 11 views
19

POSIX non appare quando corro php -m cmd, tuttavia, lo vedo dal phpinfo()–enable-posix=shared su Linux con Plesk 9.come installare posix in php

Fondamentalmente, non posso utilizzare funzioni come descritto http://www.php.net/manual/en/ref.posix.php

questo dimostra non esiste:

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

qualcuno mi potrebbe mostrare come installarlo? Grazie.

 
[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

Sei su Windows o Linux? –

+0

Quale distro di Linux? –

risposta

37

ho trovato la soluzione:

yum install php-process 

Questo pacchetto consente php-POSIX.

+1

BTW: se si utilizza una tipica AMI amazon, è necessario che questo pacchetto per System_Daemon in Pear funzioni correttamente. – Ross

+0

Il nome del pacchetto di processo php dipende dalla versione di php in esecuzione come 'php56w-process.x86_64',' php71w-process.x86_64'. –

3

Mentre risolto, il problema originale sembrerebbe essere che posix_getpwuid non è supportato su Windows:

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

In Windows, posix_getpwuid() non è implementata

  • se solo desidera il nome utente dell'utente corrente, è possibile utilizzare get_current_user().

  • Per ottenere correttamente l'utente in esecuzione, verificare se function_exists('posix_getpwuid') e in caso contrario, si supponga di essere in esecuzione su Windows e chiamare getenv('USERNAME').

+0

La tua risposta è completamente estranea alla domanda, penso. Il problema si è verificato su Linux e la funzione utilizzata era diversa. – Sven

1

In openSUSE comando uso zypper install php-posix per l'installazione di php-processo per l'uso della funzione php posix_getuid