ispCP - Board - Support
php-Fehler seit ispCP Update auf 1.0.7 - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+--- Thread: php-Fehler seit ispCP Update auf 1.0.7 (/thread-12516.html)

Pages: 1 2


php-Fehler seit ispCP Update auf 1.0.7 - Rafioso - 12-25-2010 12:30 AM

Hallo,

seit dem Update auf 1.0.7 (Debian Lenny) weisen diverse Anwendungen Fehler auf. Z.B. folgende:

PHP Code:
NoticeUndefined variablepos in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variablePHPRC in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variablePHP_FCGI_CHILDREN in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variablePATH in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variablePWD in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSHLVL in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variablePHP_FCGI_MAX_REQUESTS in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableFCGI_ROLE in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREDIRECT_UNIQUE_ID in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREDIRECT_SCRIPT_URL in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREDIRECT_SCRIPT_URI in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREDIRECT_STATUS in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableUNIQUE_ID in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSCRIPT_URL in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSCRIPT_URI in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_HOST in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_USER_AGENT in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_ACCEPT in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_ACCEPT_LANGUAGE in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_ACCEPT_ENCODING in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_ACCEPT_CHARSET in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_KEEP_ALIVE in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableHTTP_CONNECTION in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_SIGNATURE in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_SOFTWARE in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_NAME in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_ADDR in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_PORT in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREMOTE_ADDR in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableDOCUMENT_ROOT in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_ADMIN in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSCRIPT_FILENAME in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREMOTE_PORT in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREDIRECT_QUERY_STRING in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREDIRECT_URL in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableGATEWAY_INTERFACE in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSERVER_PROTOCOL in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREQUEST_METHOD in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableQUERY_STRING in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREQUEST_URI in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableSCRIPT_NAME in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variablePHP_SELF in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 
Notice
Undefined variableREQUEST_TIME in /var/www/virtual/domain.de/htdocs/config/config.php on line 40 

Was wurde da in dem Update denn geändert?

In Zeile 40 steht lediglich:
PHP Code:
addslashes(${$k}); 

Frohe Weihnachten Smile


RE: php-Fehler seit ispCP Update auf 1.0.7 - tomdooley - 12-25-2010 05:49 AM

Hallo,

die Standard-Einstellungen des error reportings haben sich geändert. Dies sind Warnungen, die über den error level der entsprechenden php.ini angepasst werden können, z. b. auf

Code:
error_reporting = E_ALL & ~E_NOTICE

Frohe Weihnachten auch dir! Smile


RE: php-Fehler seit ispCP Update auf 1.0.7 - Rafioso - 12-26-2010 01:05 AM

Hallo,

danke dafür. Aber ein unterbinden der Fehler löst nicht die anstehenden Probleme.
Was könnte das sein?

Danke.


RE: php-Fehler seit ispCP Update auf 1.0.7 - FISA4 - 12-26-2010 01:28 AM

(12-26-2010 01:05 AM)Rafioso Wrote:  Hallo,

danke dafür. Aber ein unterbinden der Fehler löst nicht die anstehenden Probleme.
Was könnte das sein?

Danke.

Selbst wenn ich eigendlich zu weihnachten nichts schreiben wollte...

versuch mal in Zeile 39 (oder so. jedenfalls vor 40)
PHP Code:
global $pos

dann sollte das mit dem pos verschwunden sein.
die anderen sind u.a. Server-Variablen. Die würde ich auf die schnelle erstmal mit nem if abfragen und dann in normale Variablen schreiben.

PHP Code:
if(isset($_SERVER['Document_Root']{
$doc_root $_SERVER['Document_Root'];


und dann diese Variablen an Stelle der $_SERVER im Code reinschreiben.
EDIT:
Das $doc_root sollte dann aber auch in das global mit rein.
Also
PHP Code:
global $pos$doc_root

/EDIT

Die Server-Variablen können unter Umständen auch in der index.php drin stehen falls die Meldungen auftreten beim Aufruf der index.php. Wink
Ich hatte ein ähnliches Problem bei meinem Projekt "phpDomainRegister".

Und jetzt Frohe Weihnachten

FISA4


RE: php-Fehler seit ispCP Update auf 1.0.7 - tomdooley - 12-26-2010 05:23 AM

(12-26-2010 01:05 AM)Rafioso Wrote:  Hallo,

danke dafür. Aber ein unterbinden der Fehler löst nicht die anstehenden Probleme.
Was könnte das sein?

Danke.

Sollte es aber, da die angegeben Meldungen "notices" (quasi Warnungen) und keine Fehlermeldungen im Sinne von PHP sind. Sicher, dass die richtige php.ini angepasst wurde, und diese Änderungen übernommen wurden (apache2 restart)?


RE: php-Fehler seit ispCP Update auf 1.0.7 - Rafioso - 12-26-2010 10:13 AM

Hallo,

@FISA4
Danke für deine Mühe trotz Weihnachten zu antworten, aber die Lösung mit den Globals ist echt alt Wink Das kommt in mein Script nicht rein und ich sehe auch keinen Anlass wieso ich Globals verwenden müsste.

Die Variable $pos wird im Script gar nicht verwendet. Das muss direkt von PHP kommen, genauso wie all die anderen Fehler die angezeigt werden.

Servervariablen in php 5.2 wie $_SERVER['DOCUMENT_ROOT'] etc. sind doch standardmäßig immer vorhanden, warum sagt er mir dann, dass es die Variablen nicht gibt?

Das komisch ist auch, dass die Fehler derzeit nur bei einer Domain angezeigt werden. An der php.ini wurde aber nie etwas geändert.


@tomdooley
Nein sollte es nicht. Es unterdrückt lediglich die Warnungen, behebt sie aber nicht. Das macht pro Aufruf ~40 Log-Einträge. Ich habe in meinem oberen Beitrag nicht geschrieben, dass deine Lösung nicht funktioniert, dass tut es, die Warnungen werden nicht mehr angezeigt, sondern ich habe bemängelt, dass dies nur eine Unterdrückung der Fehler ist.


Hier ist die php.ini


RE: php-Fehler seit ispCP Update auf 1.0.7 - tomdooley - 12-27-2010 06:16 AM

Leider sehe ich das Script nicht... Deshalb mutmaße ich mal weiter:

Wenn du auf $HTTP_HOST zugreifst, musst du in der php.ini register_globals auf "on" stellen - dies sollte noch funktionieren.

So wie ich das sehe, ist das in Deinem Script so, denn bei Verwendung von $_SERVER['HTTP_HOST'] müsste die notice "Undefined index" anstatt "Undefined variable" erscheinen.

Beachte bitte, dass diese PHP-Option DEPRECATED ist, und daher irgendwann nicht mehr funktionieren wird. Du solltest also die PHP-Scripte alsbald auf $_SERVER['HTTP_HOST'] statt $HTTP_HOST umstellen.

Referenz: http://php.net/manual/de/security.globals.php


RE: php-Fehler seit ispCP Update auf 1.0.7 - Rafioso - 12-27-2010 06:54 AM

Hallo,

das ist ja gerade das komische. Ich nutzen ausschließlich $_SERVER['x'].


RE: php-Fehler seit ispCP Update auf 1.0.7 - tomdooley - 12-27-2010 07:56 PM

Ohne mehr Input kann ich dir leider nur schwer helfen, mir fehlt hier einfach mehr Code. Wenn es open-source ist, kannst du doch einfach sagen, was du da einsetzt ;-)

Fehler ist ja diese Zeile, und ich vermute, dass hier über irgendetwas mit $k iteriert wird (foreach *glaskugel*). Die Zeile ansich macht eigentlich nüscht, es führt nur den Befehl addslashes aus, das Ergebnis wird aber weggeworfen (zumindest was ich sehen kann)...


RE: php-Fehler seit ispCP Update auf 1.0.7 - Rafioso - 12-27-2010 09:56 PM

Hallo,

ich kann dir leider nicht den kompletten Code zeigen, da dies nicht Open-Source ist. In der Config steht lediglich das drin:

PHP Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'1);

if(
function_exists('date_default_timezone_set'))
    
date_default_timezone_set('Europe/Berlin');

define('HOST',     'lol');
define('USER',     'lol');
define('PASS',     'lol');
define('DATABASE''lol');

define('INFO_MAIL''lol');

define('DEBUG_MODE'true);

if(@
ini_get('register_globals'))
{
  foreach(@array(
$_REQUEST,$_SERVER,$_FILES,$_ENV) as $array)
  {
    if(
is_array($array))
    {
      foreach(
$array as $k => $v)
        unset(${
$k});
    }
  }
}
        
if(
phpversion()<'5.3.0')
{
    
set_magic_quotes_runtime(0);
        
    if(!
get_magic_quotes_gpc()) 
    {
        foreach(@array(
$_REQUEST,$_SERVER,$_FILES,$_ENV) as $array)
        {
            if(
is_array($array))
            {
                foreach(
$array as $k => $v)
                    
addslashes(${$k}); //Das ist Zeile 40
            
}
        }
    }
}
else
{
    foreach(@array(
$_REQUEST,$_SERVER,$_FILES,$_ENV) as $array)
    {
        if(
is_array($array))
        {
            foreach(
$array as $k => $v)
                
addslashes($k);
        }
    }

?>

Ich habe alle anderen Dateien mit Eclipse nach $pos durchsucht, es gibt diese Variable aber nirgends - und das wüsste ich auch, denn das habe ich geschrieben.

Und wie gesagt, dies funktioniert nur bei einer Domain nicht. Die php.ini dieser Domain habe ich in Beitrag #6 angehängt.