Captcha brauchen Ewigkeiten beim erstellen.

Hallo, ich habe heute einen Shop aufgesetzt, bei dem ich das Problem habe das die Captchas Ewigkeiten brauchen, bis diese Angezeigt werden. Bei den Vorgänger Versionen war das nie ein Problem aber mit der 4.0.6 laden die Capchas erst nach dem die maximale Script Laufzeit erreicht wurde. Ich verwende PHP 5.3.21, und NGINX als Webserver.

ann ich bestätigen Apache2 mit APC und Nginx als Proxy selbe Spass :frowning:

So habe es nun selber gelöst: [code]<?php …
/**

  • Shopware Captcha Controller
  • todo@all: Documentation
    /
    class Shopware_Controllers_Widgets_Captcha extends Enlight_Controller_Action
    {
    /
    *
    • Pre dispatch action method
    • Sets no render on some actions
      */
      public function preDispatch()
      {
      $this->Front()->Plugins()->ViewRenderer()->setNoRender(); } /** * Index action method * * Creates a captcha and then outputs it. */ public function indexAction() { $captcha = ‚frontend/_resources/images/captcha/background.jpg‘; $font = ‚frontend/_resources/images/captcha/font.ttf‘; $template_dirs = Shopware()->Template()->getTemplateDir(); foreach ($template_dirs as $template_dir) { if (file_exists($template_dir . $captcha)) { $captcha = $template_dir . $captcha; break; } } foreach ($template_dirs as $template_dir) { if (file_exists($template_dir . $font)) { $font = $template_dir . $font; break; } } $random = $this->Request()->rand; $random = md5($random); $string = substr($random, 0, 5); if (file_exists($captcha)) { $im = imagecreatefromjpeg($captcha); } else { $im = imagecreatetruecolor(162, 87); } if (!empty(Shopware()->Config()->CaptchaColor)) { $colors = explode(’,’, Shopware()->Config()->CaptchaColor); } else { $colors = explode(’,’, ‚255,0,0‘); } $black = ImageColorAllocate($im, $colors[0], $colors[1], $colors[2]); $string = implode(’ ', str_split($string)); if (file_exists($font)) { for ($i = 0; $i <= strlen($string); $i++) { $rand1 = rand(35, 40); $rand2 = rand(15, 20); $rand3 = rand(60, 70); imagettftext($im, $rand1, $rand2, ($i + 1) * 15, $rand3, $black, $font, substr($string, $i, 1)); imagettftext($im, $rand1, $rand2, (($i + 1) * 15) + 2, $rand3 + 2, $black, $font, substr($string, $i, 1)); } for ($i = 0; $i < 8; $i++) { imageline($im, mt_rand(30, 70), mt_rand(0, 50), mt_rand(100, 150), mt_rand(20, 100), $black); imageline($im, mt_rand(30, 70), mt_rand(0, 50), mt_rand(100, 150), mt_rand(20, 100), $black); } } else { $white = ImageColorAllocate($im, 255, 255, 255); imagestring($im, 5, 40, 35, $string, $white); imagestring($im, 3, 40, 70, ‚missing font‘, $white); } ob_start(); imagejpeg($im, NULL, 90); imagedestroy($im); $i = ob_get_contents(); $this->Response()->setHeader(‚Content-Type‘, ‚image/jpeg‘, true); $this->Response()->setHeader(‚Content-Length‘, strlen($i)); echo $i; exit; // neu hinzugefügt, nun kein minutenlanges waren auf ein Captcha } }[/code]
1 „Gefällt mir“

thx :slight_smile: und den Pfad noch bitte eintragen wo die Datei ist okay dann mach ich es : engine/Shopware/Controllers/Widgets/Captcha.php