Curl mit SSL - dringend Hilfe gesucht !

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Curl mit SSL - dringend Hilfe gesucht !

    Hallo zusammen,

    nachdem ich nun schon seit 2 Tagen an der Sache rummache, seid Ihr meine letzte Hoffnung.

    Ich habe auf einem älteren Suse 9.1 Server kürzlich ein Update auf PHP 5.2.6 und Apache 2.2.9 gemacht.

    Dummerweise funktioniert nun der Aufruf von https (SSL) Seiten über Curl via PHP nicht mehr.

    Es gibt keine Fehlermeldungen !!

    Was ich versuche:
    PHP-Code:
     $ch curl_init();
     
    curl_setopt($chCURLOPT_URL"https://sslseite.de/");
     
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
     
    $back=curl_exec($ch);
     
    curl_close($ch);
    var_dump($back); 
    Ausgabe:

    PHP-Code:
    bool(false
    Was ja heisst dass der Aufruf nicht geklappt hat. Nur leider habe ich keine Ahnung wie ich weitere Fehlerquellen einschränken soll.

    Ein Aufruf über die Shell funktioniert einwandfrei:

    PHP-Code:
    curl -"https://sslseite.de/" 
    liefert mir die gewünschte Seite.

    Ausgabe der relevanten Passagen aus phpinfo():

    PHP-Code:
    Configure Command     './configure' '--with-openssl' 
    '--enable-soap' '--with-curl' 
    '--with-apxs2=/usr/local/apache2/bin/apxs' 
    '--with-mysql=/usr/local/mysql' 
    '--with-zlib-dir=/usr/lib/' '--enable-versioning' '--enable-track-vars=yes' 
    '--enable-url-includes' '--enable-sysvshm=yes'
     '--enable-sysvsem=yes' '--enable-ftp'
     '--enable-calendar' '--with-config-file-path=/etc' 
    '--with-gd' '--enable-libxml' '--enable-session' 
    '--with-mm' '--enable-xml' '--enable-simplexml' 
    '--enable-spl' '--enable-filter' 
    '--enable-inline-optimization'

    Registered PHP Streams     phpfiledatahttpftpcompress.zlibhttpsftps 
    Registered Stream Socket Transports

    Loaded Modules     core mod_authn_file mod_authn_dbm mod_authn_anon mod_authn_dbd 
    mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_dbm
     mod_authz_owner mod_authz_default mod_auth_basic mod_auth_digest mod_dbd 
    mod_dumpio mod_ext_filter mod_include mod_filter mod_substitute mod_deflate mod_log_config 
    mod_log_forensic mod_logio mod_env mod_mime_magic mod_cern_meta mod_expires 
    mod_headers mod_ident mod_usertrack mod_unique_id mod_setenvif mod_version mod_ssl 
    prefork http_core mod_mime mod_dav mod_status mod_autoindex mod_asis mod_info mod_suexec 
    mod_cgi mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_imagemap mod_actions mod_speling 
    mod_userdir mod_alias mod_rewrite mod_so mod_php5

    cURL support     enabled 
    cURL Information     libcurl
    /7.18.2 OpenSSL/0.9.7b zlib/1.1.4

    OpenSSL support     enabled 
    OpenSSL Version     OpenSSL 0.9.7b 10 Apr 2003 
    Schreibt Curl über PHP sonst irgendwo Logfiles um den Fehler zu finden ?

    Bin über jeden Tip dankbar, da mir dieses dumme Problem echt meinen ganzen Urlaub kostet
    Zuletzt geändert von drunk; 07.08.2008, 15:13.

  • #2
    Willkommen im Forum!
    Bitte brich als erstes deinen Code um, wie in den Regeln beschrieben.

    Es gibt keine Fehlermeldungen !!
    Kein Wunder, Du gibst ja auch keine aus?
    http://de3.php.net/curl_error

    Kommentar


    • #3
      Also erstmal brichst du bitte den "Code" wegen Überbreite um! Danke.
      Hast du auch probiert die URL bereits bei curl_init() anzugeben? Das Error Reporting ist voll aufgedreht und die Anzeige von PHP-Fehlern ist eingeschaltet? Ergeben sich irgendwelche Fehlermeldungen?
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Sorry wegen des breiten Codes. Habe ihn nun umgebrochen.

        Ich habe meinen Code nun so umgeschrieben:

        PHP-Code:
        error_reporting(E_ALL|E_STRICT); 
        ini_set('display_errors'TRUE); 

         
        $ch curl_init();
        echo 
        "Handle: ".var_dump($ch)."\n";

         
        // setze die URL und andere Optionen
         
        curl_setopt($chCURLOPT_URL"https://sslseite.de/");
         
        curl_setopt($chCURLOPT_HEADER0);
        curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
        curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
         
         
        $back=curl_exec($ch);

        var_dump($back);
        echo 
        "Fehler: ".curl_error($ch);

         
        curl_close($ch); 
        curl_error gibt aus:

        PHP-Code:
        SSL connection timeout 
        Wenigstens mal ein Anhaltspunkt.
        Allerdings kommt die Meldung sofort. Es ist also scheinbar kein "echter" Timeout, der ja einige Sekunden dauern würde.

        Habt Ihr Vorschläge zum weiteren Vorgehen ?

        Kommentar


        • #5
          Ich würde nach der Fehlermeldung Googeln (+ "Curl PHP" dahinter).

          Kommentar

          Lädt...
          X