Fatal error: Call to undefined function posix_kill() in /home/httpd/vhosts/mein-shop.de/httpdocs/webs14/inc/xtc_encrypt_password.inc.php(72) : runtime-created function on line 1
Ich habe mir gerade mal den Code dort an der Stelle angesehen. Den hat Jörg wegen einem Problem mit einem strato Shop unmittelbar vor dem Release der 1.0.14 eingebaut?! http://bugs.webs.de/view.php?id=472
Das ist nicht zufällig Dein Shop gewesen?
Ich trigger Jörg mal an ...
Auf was für einem Server läuft Dein Shop? Linux oder Windows?
anscheinend gibt es auf einem Windows system kein posix_kill - was ich bei der Implementierung leider übersehen habe.
Auf der o.g. PHP-Seite gibt es jedoch einen Implementierungsvorschlag für Windows, den wir ja so mal probieren könnten. Füge dafür doch mal folgenden Code for der implementierung der Funktion xtc_encrypt_password ein:
// on a windows system we need to implement posix_kill ourself:
if (!function_exists('posix_kill') and strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
function posix_kill($pid){
$wmi=new COM("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2");
$procs=$wmi->ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId='".$pid."'");
foreach($procs as $proc)
$proc->Terminate();
}
}
Versuchsweise habe ich nun auch mal die "xtc_encrypt_password.inc.php" durch die Dateiversion 1733 2010-12-22 14:56:12Z ersetzt. Mit dieser Datei kann ich das Konto zwar anlegen, erhalte beim nächsten Schritt dann allerdings bereits die nächste Fehlermeldung. Die sieht dann wie folgt aus:
[WEB-Shop SQL Error]
/home/httpd/vhosts/mein-Shop.de/httpdocs/webs_new/includes/classes/xtcPrice.php:802
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{3}76' at line 5
-- xtcPrice xtcFormatSpecialGraduated getTaxClass SELECT products_tax_class_id FROM products WHERE products_id = 616{3}76
Dein Vorschlag werde ich natürlich auch noch versuchen
Könnte dieser Fehler auch mit der xtc_encrypt_password.inc.php zusammenhängen?
nachdem der Provider nun zweimal seine Laufzeitumgebung (Apache + PHP) nachgebessert hat funktioniert der benötigte posix_kill() Befehlt bei Kopernikus auf dem Server endlich richtig.
Zu Anfang war die benötigte Library (posix) vermutlich nicht auf dem Server installiert. Was beim zweiten Anlauf dann noch falsch war hat er (der Provider) uns leider nicht verraten. Als ich jedoch nach den entsprechenden Server- und Apachelog Dateien gefragt habe konnten der Provider den Fehler endlich beheben.
Der von Kopernikus gemeldete SQL-Fehler kann jedoch höchstens indirekt etwas mit dem Server-Problem zu tun haben, jedoch ist es uns bisher nicht gelungen den SQL-Fehler zu reproduzieren.
Dieser Task wird daher als "erledigt" betrachtet, für das SQL-Problem sollte - falls benötigt - ein eigener Task erstellt werden.