Ankündigung

Einklappen
Keine Ankündigung bisher.

cUrl error 77 - IPN geht nicht

Einklappen

Neue Werbung 2019

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

  • cUrl error 77 - IPN geht nicht

    Hallo Alle Zusammen,

    Ich probiere mich gerade an ipn von paypal und komme an einer Stelle nicht weiter. IPN wird erfolgreich über die Sandbox abgeschickt, doch ich erhalte in meinem log file immer folgende Fehlermeldung, und weiss nicht wie ich Sie beheben soll.. Hoffe dass ist hier das Richtige Forum.. hat ja immerhin was mit php zu tun die files von paypal(ipn.php und ipnlistener.php)..

    Fehlermeldung:
    [21-Jan-2013 11:43:07 Europe/Berlin] cURL error: [77] error setting certificate verify locations:
    CAfile: /homepages/.../.../htdocs/cert/api_cert_chain.crt
    CApath: /etc/ssl/certs

    Hoffe Ihr könnt mir da weiterhelfen,
    natvia

  • #2
    Wie sieht denn Dein CURL-Request aus? Kopiere den mal mit den ganzen Optionen, die Du setzt. Mit [PHP]-Tags.

    Und die Datei aus CAfile gibt es wirklich?

    Kommentar


    • #3
      Der ipnlistener sieht so aus:
      PHP-Code:
      <?php
      /**
      * PayPal IPN Listener
      *
      * A class to listen for and handle Instant Payment Notifications (IPN) from
      * the PayPal server.
      *
      * https://github.com/Quixotix/PHP-PayPal-IPN
      *
      * @package PHP-PayPal-IPN
      * @author Micah Carrick
      * @copyright (c) 2012 - Micah Carrick
      * @version 2.1.0
      */
      class IpnListener {
          
          
      /**
      * If true, the recommended cURL PHP library is used to send the post back
      * to PayPal. If flase then fsockopen() is used. Default true.
      *
      * @var boolean
      */
          
      public $use_curl true;
          
          
      /**
      * If true, explicitly sets cURL to use SSL version 3. Use this if cURL
      * is compiled with GnuTLS SSL.
      *
      * @var boolean
      */
          
      public $force_ssl_v3 true;
         
          
      /**
      * If true, cURL will use the CURLOPT_FOLLOWLOCATION to follow any
      * "Location: ..." headers in the response.
      *
      * @var boolean
      */
          
      public $follow_location false;
          
          
      /**
      * If true, an SSL secure connection (port 443) is used for the post back
      * as recommended by PayPal. If false, a standard HTTP (port 80) connection
      * is used. Default true.
      *
      * @var boolean
      */
          
      public $use_ssl true;
          
          
      /**
      * If true, the paypal sandbox URI www.sandbox.paypal.com is used for the
      * post back. If false, the live URI www.paypal.com is used. Default false.
      *
      * @var boolean
      */
          
      public $use_sandbox true;
          
          
      /**
      * The amount of time, in seconds, to wait for the PayPal server to respond
      * before timing out. Default 30 seconds.
      *
      * @var int
      */
          
      public $timeout 30;
          
          private 
      $post_data = array();
          private 
      $post_uri '';
          private 
      $response_status '';
          private 
      $response '';

          const 
      PAYPAL_HOST 'www.paypal.com';
          const 
      SANDBOX_HOST 'www.sandbox.paypal.com';
          
          
      /**
      * Post Back Using cURL
      *
      * Sends the post back to PayPal using the cURL library. Called by
      * the processIpn() method if the use_curl property is true. Throws an
      * exception if the post fails. Populates the response, response_status,
      * and post_uri properties on success.
      *
      * @param string The post data as a URL encoded string
      */
          
      protected function curlPost($encoded_data) {

              if (
      $this->use_ssl) {
                  
      $uri 'https://'.$this->getPaypalHost().'/cgi-bin/webscr';
                  
      $this->post_uri $uri;
              } else {
                  
      $uri 'http://'.$this->getPaypalHost().'/cgi-bin/webscr';
                  
      $this->post_uri $uri;
              }
              
              
      $ch curl_init();

      curl_setopt($chCURLOPT_SSL_VERIFYPEERtrue);
      curl_setopt($chCURLOPT_SSL_VERIFYHOST2);
      curl_setopt($chCURLOPT_CAINFO,
      dirname(__FILE__)."/cert/api_cert_chain.crt");
              
      curl_setopt($chCURLOPT_URL$uri);
              
      curl_setopt($chCURLOPT_POSTtrue);
              
      curl_setopt($chCURLOPT_POSTFIELDS$encoded_data);
              
      curl_setopt($chCURLOPT_FOLLOWLOCATION$this->follow_location);
              
      curl_setopt($chCURLOPT_TIMEOUT$this->timeout);
              
      curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
              
      curl_setopt($chCURLOPT_HEADERtrue);
              
              if (
      $this->force_ssl_v3) {
                  
      curl_setopt($chCURLOPT_SSLVERSION3);
              }
              
              
      $this->response curl_exec($ch);
              
      $this->response_status strval(curl_getinfo($chCURLINFO_HTTP_CODE));
              
              if (
      $this->response === false || $this->response_status == '0') {
                  
      $errno curl_errno($ch);
                  
      $errstr curl_error($ch);
                  throw new 
      Exception("cURL error: [$errno$errstr");
              }
          }
          
          
      /**
      * Post Back Using fsockopen()
      *
      * Sends the post back to PayPal using the fsockopen() function. Called by
      * the processIpn() method if the use_curl property is false. Throws an
      * exception if the post fails. Populates the response, response_status,
      * and post_uri properties on success.
      *
      * @param string The post data as a URL encoded string
      */
          
      protected function fsockPost($encoded_data) {
          
              if (
      $this->use_ssl) {
                  
      $uri 'ssl://'.$this->getPaypalHost();
                  
      $port '443';
                  
      $this->post_uri $uri.'/cgi-bin/webscr';
              } else {
                  
      $uri $this->getPaypalHost(); // no "http://" in call to fsockopen()
                  
      $port '80';
                  
      $this->post_uri 'http://'.$uri.'/cgi-bin/webscr';
              }

              
      $fp fsockopen($uri$port$errno$errstr$this->timeout);
              
              if (!
      $fp) {
                  
      // fsockopen error
                  
      throw new Exception("fsockopen error: [$errno$errstr");
              }

              
      $header "POST /cgi-bin/webscr HTTP/1.1\r\n";
              
      $header .= "Host: ".$this->getPaypalHost()."\r\n";
              
      $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
              
      $header .= "Content-Length: ".strlen($encoded_data)."\r\n";
              
      $header .= "Connection: Close\r\n\r\n";
              
              
      fputs($fp$header.$encoded_data."\r\n\r\n");
              
              while(!
      feof($fp)) {
                  if (empty(
      $this->response)) {
                      
      // extract HTTP status from first line
                      
      $this->response .= $status fgets($fp1024);
                      
      $this->response_status trim(substr($status94));
                  } else {
                      
      $this->response .= fgets($fp1024);
                  }
              }
              
              
      fclose($fp);
          }
          
          private function 
      getPaypalHost() {
              if (
      $this->use_sandbox) return self::SANDBOX_HOST;
              else return 
      self::PAYPAL_HOST;
          }
          
          
      /**
      * Get POST URI
      *
      * Returns the URI that was used to send the post back to PayPal. This can
      * be useful for troubleshooting connection problems. The default URI
      * would be "ssl://www.sandbox.paypal.com:443/cgi-bin/webscr"
      *
      * @return string
      */
          
      public function getPostUri() {
              return 
      $this->post_uri;
          }
          
          
      /**
      * Get Response
      *
      * Returns the entire response from PayPal as a string including all the
      * HTTP headers.
      *
      * @return string
      */
          
      public function getResponse() {
              return 
      $this->response;
          }
          
          
      /**
      * Get Response Status
      *
      * Returns the HTTP response status code from PayPal. This should be "200"
      * if the post back was successful.
      *
      * @return string
      */
          
      public function getResponseStatus() {
              return 
      $this->response_status;
          }
          
          
      /**
      * Get Text Report
      *
      * Returns a report of the IPN transaction in plain text format. This is
      * useful in emails to order processors and system administrators. Override
      * this method in your own class to customize the report.
      *
      * @return string
      */
          
      public function getTextReport() {
              
              
      $r '';
              
              
      // date and POST url
              
      for ($i=0$i<80$i++) { $r .= '-'; }
              
      $r .= "\n[".date('m/d/Y g:i A').'] - '.$this->getPostUri();
              if (
      $this->use_curl$r .= " (curl)\n";
              else 
      $r .= " (fsockopen)\n";
              
              
      // HTTP Response
              
      for ($i=0$i<80$i++) { $r .= '-'; }
              
      $r .= "\n{$this->getResponse()}\n";
              
              
      // POST vars
              
      for ($i=0$i<80$i++) { $r .= '-'; }
              
      $r .= "\n";
              
              foreach (
      $this->post_data as $key => $value) {
                  
      $r .= str_pad($key25)."$value\n";
              }
              
      $r .= "\n\n";
              
              return 
      $r;
          }
          
          
      /**
      * Process IPN
      *
      * Handles the IPN post back to PayPal and parsing the response. Call this
      * method from your IPN listener script. Returns true if the response came
      * back as "VERIFIED", false if the response came back "INVALID", and
      * throws an exception if there is an error.
      *
      * @param array
      *
      * @return boolean
      */
          
      public function processIpn($post_data=null) {

              
      $encoded_data 'cmd=_notify-validate';
              
              if (
      $post_data === null) {
                  
      // use raw POST data
                  
      if (!empty($_POST)) {
                      
      $this->post_data $_POST;
                      
      $encoded_data .= '&'.file_get_contents('php://input');
                  } else {
                      throw new 
      Exception("No POST data found.");
                  }
              } else {
                  
      // use provided data array
                  
      $this->post_data $post_data;
                  
                  foreach (
      $this->post_data as $key => $value) {
                      
      $encoded_data .= "&$key=".urlencode($value);
                  }
              }

              if (
      $this->use_curl$this->curlPost($encoded_data);
              else 
      $this->fsockPost($encoded_data);
              
              if (
      strpos($this->response_status'200') === false) {
                  throw new 
      Exception("Invalid response status: ".$this->response_status);
              }
              
              if (
      strpos($this->response"VERIFIED") !== false) {
                  return 
      true;
              } elseif (
      strpos($this->response"INVALID") !== false) {
                  return 
      false;
              } else {
                  throw new 
      Exception("Unexpected response from PayPal.");
              }
          }
          
          
      /**
      * Require Post Method
      *
      * Throws an exception and sets a HTTP 405 response header if the request
      * method was not POST.
      */
          
      public function requirePostMethod() {
              
      // require POST requests
              
      if ($_SERVER['REQUEST_METHOD'] && $_SERVER['REQUEST_METHOD'] != 'POST') {
                  
      header('Allow: POST'true405);
                  throw new 
      Exception("Invalid HTTP request method.");
              }
          }
      }
      und ipn.php so:

      PHP-Code:
      <?php
      // tell PHP to log errors to ipn_errors.log in this directory
      ini_set('log_errors'true);
      ini_set('error_log'dirname(__FILE__).'/ipn_errors.log');

      // intantiate the IPN listener
      include('ipnlistener.php');
      $listener = new IpnListener();

      // tell the IPN listener to use the PayPal test sandbox
      $listener->use_sandbox true;

      // try to process the IPN POST
      try {
          
      $listener->requirePostMethod();
          
      $verified $listener->processIpn();
      } catch (
      Exception $e) {
          
      error_log($e->getMessage());
          exit(
      0);
      }

      // TODO: Handle IPN Response here
      if ($verified) {
          
      // TODO: Implement additional fraud checks and MySQL storage
          
      mail('patrick.beckedorf@gmail.com''Valid IPN'$listener->getTextReport());
      } else {
          
      // manually investigate the invalid IPN
          
      mail('patrick.beckedorf@gmail.com''Invalid IPN'$listener->getTextReport());
      }

      ?>
      Desweiteren habe ich mir die Datei: api_cert_chain.crt auf meinen Webserver hochgeladen bzw,. davor eben gedownloaded..


      oder was möchtest du genau wissen?
      Das ist alles was ich habe zum Ipn.

      Gruss

      Kommentar


      • #4
        Mein Beitrag wurden irgendwie nicht veröffentlicht den ich geschrieben habe..

        Also nochmal:

        Habe zwei Dateien : ipnlistener.php

        PHP-Code:
        <?php
        /**
        * PayPal IPN Listener
        *
        * A class to listen for and handle Instant Payment Notifications (IPN) from
        * the PayPal server.
        *
        * https://github.com/Quixotix/PHP-PayPal-IPN
        *
        * @package PHP-PayPal-IPN
        * @author Micah Carrick
        * @copyright (c) 2012 - Micah Carrick
        * @version 2.1.0
        */
        class IpnListener {
            
            
        /**
        * If true, the recommended cURL PHP library is used to send the post back
        * to PayPal. If flase then fsockopen() is used. Default true.
        *
        * @var boolean
        */
            
        public $use_curl true;
            
            
        /**
        * If true, explicitly sets cURL to use SSL version 3. Use this if cURL
        * is compiled with GnuTLS SSL.
        *
        * @var boolean
        */
            
        public $force_ssl_v3 true;
           
            
        /**
        * If true, cURL will use the CURLOPT_FOLLOWLOCATION to follow any
        * "Location: ..." headers in the response.
        *
        * @var boolean
        */
            
        public $follow_location false;
            
            
        /**
        * If true, an SSL secure connection (port 443) is used for the post back
        * as recommended by PayPal. If false, a standard HTTP (port 80) connection
        * is used. Default true.
        *
        * @var boolean
        */
            
        public $use_ssl true;
            
            
        /**
        * If true, the paypal sandbox URI www.sandbox.paypal.com is used for the
        * post back. If false, the live URI www.paypal.com is used. Default false.
        *
        * @var boolean
        */
            
        public $use_sandbox true;
            
            
        /**
        * The amount of time, in seconds, to wait for the PayPal server to respond
        * before timing out. Default 30 seconds.
        *
        * @var int
        */
            
        public $timeout 30;
            
            private 
        $post_data = array();
            private 
        $post_uri '';
            private 
        $response_status '';
            private 
        $response '';

            const 
        PAYPAL_HOST 'www.paypal.com';
            const 
        SANDBOX_HOST 'www.sandbox.paypal.com';
            
            
        /**
        * Post Back Using cURL
        *
        * Sends the post back to PayPal using the cURL library. Called by
        * the processIpn() method if the use_curl property is true. Throws an
        * exception if the post fails. Populates the response, response_status,
        * and post_uri properties on success.
        *
        * @param string The post data as a URL encoded string
        */
            
        protected function curlPost($encoded_data) {

                if (
        $this->use_ssl) {
                    
        $uri 'https://'.$this->getPaypalHost().'/cgi-bin/webscr';
                    
        $this->post_uri $uri;
                } else {
                    
        $uri 'http://'.$this->getPaypalHost().'/cgi-bin/webscr';
                    
        $this->post_uri $uri;
                }
                
                
        $ch curl_init();

        curl_setopt($chCURLOPT_SSL_VERIFYPEERtrue);
        curl_setopt($chCURLOPT_SSL_VERIFYHOST2);
        curl_setopt($chCURLOPT_CAINFO,
        dirname(__FILE__)."/cert/api_cert_chain.crt");
                
        curl_setopt($chCURLOPT_URL$uri);
                
        curl_setopt($chCURLOPT_POSTtrue);
                
        curl_setopt($chCURLOPT_POSTFIELDS$encoded_data);
                
        curl_setopt($chCURLOPT_FOLLOWLOCATION$this->follow_location);
                
        curl_setopt($chCURLOPT_TIMEOUT$this->timeout);
                
        curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                
        curl_setopt($chCURLOPT_HEADERtrue);
                
                if (
        $this->force_ssl_v3) {
                    
        curl_setopt($chCURLOPT_SSLVERSION3);
                }
                
                
        $this->response curl_exec($ch);
                
        $this->response_status strval(curl_getinfo($chCURLINFO_HTTP_CODE));
                
                if (
        $this->response === false || $this->response_status == '0') {
                    
        $errno curl_errno($ch);
                    
        $errstr curl_error($ch);
                    throw new 
        Exception("cURL error: [$errno$errstr");
                }
            }
            
            
        /**
        * Post Back Using fsockopen()
        *
        * Sends the post back to PayPal using the fsockopen() function. Called by
        * the processIpn() method if the use_curl property is false. Throws an
        * exception if the post fails. Populates the response, response_status,
        * and post_uri properties on success.
        *
        * @param string The post data as a URL encoded string
        */
            
        protected function fsockPost($encoded_data) {
            
                if (
        $this->use_ssl) {
                    
        $uri 'ssl://'.$this->getPaypalHost();
                    
        $port '443';
                    
        $this->post_uri $uri.'/cgi-bin/webscr';
                } else {
                    
        $uri $this->getPaypalHost(); // no "http://" in call to fsockopen()
                    
        $port '80';
                    
        $this->post_uri 'http://'.$uri.'/cgi-bin/webscr';
                }

                
        $fp fsockopen($uri$port$errno$errstr$this->timeout);
                
                if (!
        $fp) {
                    
        // fsockopen error
                    
        throw new Exception("fsockopen error: [$errno$errstr");
                }

                
        $header "POST /cgi-bin/webscr HTTP/1.1\r\n";
                
        $header .= "Host: ".$this->getPaypalHost()."\r\n";
                
        $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
                
        $header .= "Content-Length: ".strlen($encoded_data)."\r\n";
                
        $header .= "Connection: Close\r\n\r\n";
                
                
        fputs($fp$header.$encoded_data."\r\n\r\n");
                
                while(!
        feof($fp)) {
                    if (empty(
        $this->response)) {
                        
        // extract HTTP status from first line
                        
        $this->response .= $status fgets($fp1024);
                        
        $this->response_status trim(substr($status94));
                    } else {
                        
        $this->response .= fgets($fp1024);
                    }
                }
                
                
        fclose($fp);
            }
            
            private function 
        getPaypalHost() {
                if (
        $this->use_sandbox) return self::SANDBOX_HOST;
                else return 
        self::PAYPAL_HOST;
            }
            
            
        /**
        * Get POST URI
        *
        * Returns the URI that was used to send the post back to PayPal. This can
        * be useful for troubleshooting connection problems. The default URI
        * would be "ssl://www.sandbox.paypal.com:443/cgi-bin/webscr"
        *
        * @return string
        */
            
        public function getPostUri() {
                return 
        $this->post_uri;
            }
            
            
        /**
        * Get Response
        *
        * Returns the entire response from PayPal as a string including all the
        * HTTP headers.
        *
        * @return string
        */
            
        public function getResponse() {
                return 
        $this->response;
            }
            
            
        /**
        * Get Response Status
        *
        * Returns the HTTP response status code from PayPal. This should be "200"
        * if the post back was successful.
        *
        * @return string
        */
            
        public function getResponseStatus() {
                return 
        $this->response_status;
            }
            
            
        /**
        * Get Text Report
        *
        * Returns a report of the IPN transaction in plain text format. This is
        * useful in emails to order processors and system administrators. Override
        * this method in your own class to customize the report.
        *
        * @return string
        */
            
        public function getTextReport() {
                
                
        $r '';
                
                
        // date and POST url
                
        for ($i=0$i<80$i++) { $r .= '-'; }
                
        $r .= "\n[".date('m/d/Y g:i A').'] - '.$this->getPostUri();
                if (
        $this->use_curl$r .= " (curl)\n";
                else 
        $r .= " (fsockopen)\n";
                
                
        // HTTP Response
                
        for ($i=0$i<80$i++) { $r .= '-'; }
                
        $r .= "\n{$this->getResponse()}\n";
                
                
        // POST vars
                
        for ($i=0$i<80$i++) { $r .= '-'; }
                
        $r .= "\n";
                
                foreach (
        $this->post_data as $key => $value) {
                    
        $r .= str_pad($key25)."$value\n";
                }
                
        $r .= "\n\n";
                
                return 
        $r;
            }
            
            
        /**
        * Process IPN
        *
        * Handles the IPN post back to PayPal and parsing the response. Call this
        * method from your IPN listener script. Returns true if the response came
        * back as "VERIFIED", false if the response came back "INVALID", and
        * throws an exception if there is an error.
        *
        * @param array
        *
        * @return boolean
        */
            
        public function processIpn($post_data=null) {

                
        $encoded_data 'cmd=_notify-validate';
                
                if (
        $post_data === null) {
                    
        // use raw POST data
                    
        if (!empty($_POST)) {
                        
        $this->post_data $_POST;
                        
        $encoded_data .= '&'.file_get_contents('php://input');
                    } else {
                        throw new 
        Exception("No POST data found.");
                    }
                } else {
                    
        // use provided data array
                    
        $this->post_data $post_data;
                    
                    foreach (
        $this->post_data as $key => $value) {
                        
        $encoded_data .= "&$key=".urlencode($value);
                    }
                }

                if (
        $this->use_curl$this->curlPost($encoded_data);
                else 
        $this->fsockPost($encoded_data);
                
                if (
        strpos($this->response_status'200') === false) {
                    throw new 
        Exception("Invalid response status: ".$this->response_status);
                }
                
                if (
        strpos($this->response"VERIFIED") !== false) {
                    return 
        true;
                } elseif (
        strpos($this->response"INVALID") !== false) {
                    return 
        false;
                } else {
                    throw new 
        Exception("Unexpected response from PayPal.");
                }
            }
            
            
        /**
        * Require Post Method
        *
        * Throws an exception and sets a HTTP 405 response header if the request
        * method was not POST.
        */
            
        public function requirePostMethod() {
                
        // require POST requests
                
        if ($_SERVER['REQUEST_METHOD'] && $_SERVER['REQUEST_METHOD'] != 'POST') {
                    
        header('Allow: POST'true405);
                    throw new 
        Exception("Invalid HTTP request method.");
                }
            }
        }
        und mein ipn.php:
        PHP-Code:
        <?php
        // tell PHP to log errors to ipn_errors.log in this directory
        ini_set('log_errors'true);
        ini_set('error_log'dirname(__FILE__).'/ipn_errors.log');

        // intantiate the IPN listener
        include('ipnlistener.php');
        $listener = new IpnListener();

        // tell the IPN listener to use the PayPal test sandbox
        $listener->use_sandbox true;

        // try to process the IPN POST
        try {
            
        $listener->requirePostMethod();
            
        $verified $listener->processIpn();
        } catch (
        Exception $e) {
            
        error_log($e->getMessage());
            exit(
        0);
        }

        // TODO: Handle IPN Response here
        if ($verified) {
            
        // TODO: Implement additional fraud checks and MySQL storage
            
        mail('xx''Valid IPN'$listener->getTextReport());
        } else {
            
        // manually investigate the invalid IPN
            
        mail('xx''Invalid IPN'$listener->getTextReport());
        }

        ?>
        Desweiteren habe ich auf meinen Webserver folgende Datei hochgeladen, nachdem ich Sie gedownloaded habe: api_cert_chain.crt
        Mehr habe ich nicht.. fehlt da was?

        Gruss

        Kommentar


        • #5
          Hmm, ich sehe da wenig bis gar keine Eigenleistung. Wahrscheinlich bist Du da beim Paypal-Support besser aufgehoben.

          Aber dennoch: Hast Du die .crt Datei auch ins richtige Verzeichnis hochgeladen? In Deinem Fall: htdocs/cert/api_cert_chain.crt
          Falls Du das Verzeichnis htdocs nicht siehst, bist Du dort schon drin. Dann ist es cert/api_cert_chain.crt

          Ansonsten schau mal hier: http://www.webmasterworld.com/ecommerce/4523997.htm
          Das sieht mir nach einem ähnlichen Problem aus.

          Kommentar


          • #6
            api_cert_chain.crt ist direkt im /. Verzeichnis drin, d.h. ich sollte da erstmal nen Ordner cert anlegen und das Teil da rein verschieben?

            Eigenleistung.. hm ist beim Thema IPN schwer da man viel über Generatoren macht, die einem schon den Code generieren..

            Gruss und Danke

            Kommentar


            • #7
              Also die Datei api_cert_chain.crt befindet sich direkt im /. Verzeichnis beim Webserver.. muss ich einen Ordner anlegen cert?

              gruss

              Kommentar


              • #8
                Zitat: "I downloaded the api_cert_chain.crt and uploaded it to where my ipn.php and ipnlistener are"

                den Artikel habe ich mir schon durchgelesen gehabt vor ein paar Stunden .. das habe ich ja auch gemacht, liegt alles im /. Verzeichnis.. jetzt ist die Frage ob dann ein Link in einer der beiden ipn Dateien die ich gepostet habe nicht stimmt..

                Kommentar


                • #9
                  Fehlermeldungen sind da, um gelesen zu werden. Man muss sie nicht verstehen, aber erst einmal lesen hilft ungemein.
                  Zitat von natvia22 Beitrag anzeigen
                  Fehlermeldung:
                  [21-Jan-2013 11:43:07 Europe/Berlin]
                  CAfile: /homepages/.../.../htdocs/cert/api_cert_chain.crt
                  Abgesehen davon würde ich mir eine Klasse, die ich da einbinde, auch erst mal ansehen.
                  Da steht auch:
                  PHP-Code:
                  curl_setopt($chCURLOPT_CAINFO,
                  dirname(__FILE__)."/cert/api_cert_chain.crt"); 

                  Kommentar


                  • #10
                    den unteren Teil hatte ich gelesen, das mit dem Ordner habe ich übersehen.. dirname(__FILE__) verstehe ich nicht ganz, kannst mir das erklären?

                    Kommentar


                    • #11
                      Ich habe gerade keine Zeit Dir das Manual vorzulesen
                      http://de.php.net/manual/de/function.dirname.php
                      http://php.net/manual/de/language.co...predefined.php

                      Kommentar


                      • #12
                        das habe ich verstanden.. nun erscheint kein log eintrag mehr d.h es geht , allerdings kommt nie ne mail bei mir an.. da wo ich "xx" eingetragen habe steht ne mail adresse, an die ein "ok" oder "verified" geschickt werden sollte.. das geht nur leider nicht.. kommt nix an..

                        Kommentar


                        • #13
                          ah funktioniert alles, lag im spam ordner.. danke

                          Kommentar


                          • #14
                            Ganz im Ernst: Lass die Finger davon und beauftrage jemanden der Ahnung hat.
                            Du scheinst keinen blassen Schimmer von PHP oder Programmierung im Allgemeinen zu haben und hier geht es um echtes Geld.
                            Wenn ich keine Ahnung von Autos habe, fummel ich auch nicht an den Bremsen oder am Motor rum. Damit gefährdet man nur andere Leute.

                            Kommentar

                            Lädt...
                            X