Error Meldung bei TYPO3 Install Tool / Call to undefined method com::GetRandom()

  • andreas1982 andreas19...
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    15. 08. 2010, 15:46

    Hallo, ich möchte gerne TYPO3 4.4 mit dem TYPO3 Install Tool installieren. Wenn ich auf Continue drücke bekomme ich folgende Fehlermeldung:

    Fatal error: Call to undefined method com::GetRandom() in C:\xampp\htdocs\typo3\t3lib\class.t3lib_div.php on line 1590

    Ich hab das ganze local in xampp (Version 1.7.1) laufen.

    Kann mir jemand weitehelfen warum ich diese Fehlermeldung bekomme?

    Gruß


  • 1
  • Zapper Zapper
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    16. 08. 2010, 01:24

    Sry for the reply in english..

    I can confirm the error upon install, and i found the same error when i try to run index.php in main dir.

    1. Fatal error: Call to undefined method com::GetRandom() in C:\Inetpub\wwwroot\typo3test\t3lib\class.t3lib_div.php on line 1590

    From what i can see in the code, there is a call to CAPICOM if the system is windows, CAPICOM is not mandetory installation!! and should not be required from the code.

    1. /**
    2. * Returns a string of highly randomized bytes (over the full 8-bit range).
    3. *
    4. * @copyright Drupal CMS
    5. * @license GNU General Public License version 2
    6. * @param integer Number of characters (bytes) to return
    7. * @return string Random Bytes
    8. */
    9. public static function generateRandomBytes($count) {
    10. $output = '';
    11. // /dev/urandom is available on many *nix systems and is considered
    12. // the best commonly available pseudo-random source.
    13. if (TYPO3_OS != 'WIN' && ($fh = @fopen('/dev/urandom', 'rb'))) {
    14. $output = fread($fh, $count);
    15. fclose($fh);
    16. } elseif (TYPO3_OS == 'WIN') {
    17. if (class_exists('COM')) {
    18. try {
    19. $com = new COM('CAPICOM.Utilities.1');
    20. $output = base64_decode($com->GetRandom($count, 0));
    21. } catch(Exception $e) {
    22. // CAPICOM not installed
    23. }
    24. }
    25. if ($output === '' && version_compare(PHP_VERSION, '5.3.0', '>=')) {
    26. if (function_exists('mcrypt_create_iv')) {
    27. $output = mcrypt_create_iv($count, MCRYPT_DEV_URANDOM);
    28. } elseif (function_exists('openssl_random_pseudo_bytes')) {
    29. $isStrong = null;
    30. $output = openssl_random_pseudo_bytes($count, $isStrong);
    31. // skip ssl since it wasn't using the strong algo
    32. if ($isStrong !== TRUE) {
    33. $output = '';
    34. }
    35. }
    36. }
    37. }

    Is there a workaround CAPICOM?

    thx
    Zap

  • devx devx
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    04. 09. 2010, 14:00

    Capicom mittels regsrv32 registrieren (Adminrechte notwendig)

    Konsole:
    [b]regsvr32 Pfad/zur/capicom.dll[/b]

    Falls noch nicht installiert, dann könnt ihr diese über das Microsoft SDK mit herunterladen / installieren: [url=http://www.microsoft.com/downloads/details.aspx?FamilyId=860EE43A-A843-462F-ABB5-FF88EA5896F6&displaylang=de]Download Capicom[/url]

  • 1