Néhányan tapasztalták különböző szervekre nem ingyenesre telepítve az osCommerce v3.05 alpha-t, hogy telepítés után a következő hibaüzenetet kapja az admin felületre belépés helyett.
Fatal error: Cannot redeclare posix_getpwuid() in /home/bbprofessional/web/admin/includes/functions/compatibility.php on line 37
A hiba eredete a posix_getpwuid() függvény tiltására vezethető vissza. Sok szolgáltató a szerverek támadhatóságának minimálisra csökkentése érdekében tiltott függvénynek nyilvánítják és nem engedik meg a használatát.
A hiba elhárítás az admin/includes/functions/compatibility.php módosításával orvosolható.
A compatibility.php fájl módosítandó részlete
/*
* posix_getpwuid() not implemented on Microsoft Windows platforms
*/
if (!function_exists('posix_getpwuid')) {
function posix_getpwuid($id) {
return '-?-';
}
}
Az előző programrészt cseréld erre/*
* posix_getpwuid() not implemented on Microsoft Windows platforms
*/
/* if (!function_exists('posix_getpwuid')) {
function posix_getpwuid($id) {
return '-?-';
}
} */
Néhány általunk ajánlott szolgáltató tiltott függvény listája látható az alábbi táblázatban.
| Gyümölcstárhely |
NLG-System |
Médiacenter |
Silihost |
Tárhely |
| Apache 2.2.15 |
Apache 2.2.3 |
Apache |
Apache 1.3.41 |
Apache 2.0.63 |
| PHP 5.2.13 |
PHP 5.1.6 |
PHP 5.2.6 |
PHP 5.2.8 |
PHP 5.2.12 |
| MySQL 5.0.93 |
MySQL 5.0.77 |
MySQL 5.0.32 |
MySQL 5.1.48 |
MySQL 5.0.91 |
| apache_setenv |
apache_vet_modules |
show_source |
apache_note |
allow_url_fopen |
| define_syslog_variables |
apache_get_version |
system |
apache_setenv |
exec |
| dl |
apache_getenv |
shell_exec |
chownchgrp |
passthru |
| escapeshellarg |
apache_note |
passthru |
chroot |
popen |
| escapeshellcmd |
apache_setenv |
exec |
closelog |
proc_open |
| exec |
disk_free_space |
popen |
debugger_off |
shell_exec |
| highlight_file |
diskfreespace |
proc_open |
debugger_on |
show_source |
| ini_alter |
dl |
allow_url_fopen |
define_syslog_variables |
system |
| ini_restore |
highlight_file |
|
dl |
|
| openlog |
ini_alter |
|
escapeshellarg |
|
| passthru |
ini_restore |
|
escapeshellcmd |
|
| pclose |
openlog |
|
ftp_connect |
|
| popen |
passthru |
|
ini_restore |
|
| posix_getpwnam |
proc_nice |
|
link |
|
| posix_getpwuid |
proc_open |
|
openlog |
|
| posix_kill |
shell_exec |
|
openlog |
|
| posix_mkfifo |
show_source |
|
passthru |
|
| posix_setgid |
symlink |
|
passthru |
|
| posix_setpgid |
system |
|
pclose |
|
| posix_setsid |
system apache_get_modules |
|
pcntl_exec |
|
| posix_setuid |
|
|
popen |
|
| proc_close |
|
|
proc_close |
|
| proc_get_status |
|
|
proc_close |
|
| proc_nice |
|
|
proc_get_status |
|
| proc_open |
|
|
proc_nice |
|
| proc_terminate |
|
|
proc_open |
|
| shell_exec |
|
|
proc_open |
|
| show_source |
|
|
proc_terminate |
|
| symlink |
|
|
shell_exec |
|
| syslog |
|
|
shell_exec |
|
| system |
|
|
show_source |
|
| virtual |
|
|
system |
|
| virtual apache_child_terminate |
|
|
|
|
|
Sok kezdőnek megmagyarázhatatlannak tűnő hiba forrása a tiltott függvényekben keresendő.
A szolgáltatódnál a phpinfo lekérése után a Configuration PHP Core menüpont alatt a disable_functions-ban vannak felsorolva a tiltott függvények.
Módosítás: ( 2010. július 17. szombat, 10:22 )