GX-Bug #40413
geschlossenWenn die Funktion getmypid deaktiviert ist, kann die PDF nicht erzeugt werden.
100%
Beschreibung
Wenn die Funktion getmypid deaktiviert ist, kann die PDF nicht erzeugt werden. Dies führt dazu, dass auch der Bestellvorgang nich abgeschlossen werden kann.
In der Datei /PdfCreator/includes/tcpdf_static.php
wird die Funktion getmypid für die Generierung eines temporären Dateinamens benötigt.
public static function getObjFilename($type='tmp') {
return tempnam(K_PATH_CACHE, '__tcpdf_'.$type.'_'.md5(getmypid().uniqid('', true).rand().microtime(true)).'_');
}
Und in der folgendenm Funktion um eine eindeutige ID zu erzeugen:
public static function getRandomSeed($seed='') {
$seed .= microtime();
if (function_exists('openssl_random_pseudo_bytes') AND (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')) {
// this is not used on windows systems because it is very slow for a know bug
$seed .= openssl_random_pseudo_bytes(512);
} else {
for ($i = 0; $i < 23; ++$i) {
$seed .= uniqid('', true);
}
}
$seed .= uniqid('', true);
$seed .= rand();
$seed .= getmypid();
$seed .= __FILE__;
if (isset($_SERVER['REMOTE_ADDR'])) {
$seed .= $_SERVER['REMOTE_ADDR'];
}
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$seed .= $_SERVER['HTTP_USER_AGENT'];
}
if (isset($_SERVER['HTTP_ACCEPT'])) {
$seed .= $_SERVER['HTTP_ACCEPT'];
}
if (isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
$seed .= $_SERVER['HTTP_ACCEPT_ENCODING'];
}
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$seed .= $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
if (isset($_SERVER['HTTP_ACCEPT_CHARSET'])) {
$seed .= $_SERVER['HTTP_ACCEPT_CHARSET'];
}
$seed .= rand();
$seed .= uniqid('', true);
$seed .= microtime();
return $seed;
}