0

さて、これが私が得たものです。ここに、CakePHP と Paypal の統合で HttpSocket をインポートするコード行があります。

/app/PaypalIpn/Model/DataSource/PaypalIpnSource.php にあります。ここにあります:

function __construct(){
    if (!class_exists('HttpSocket')) {
        if(App::uses('HttpSocket', 'Network/Http')){
            $this->log('http socket imported','paypal');    
        }
    }
        else{
            $this->log('http socket not imported','paypal');
        }
    $this->Http = new HttpSocket();
  }

ちなみに、私の HttpSocket.php は次の場所にあります。

C:\xampp\htdocs\wifidrivescanportal\lib\Cake\Network\Http\HttpSocket.php

したがって、HttpSocket.php でこの関数にアクセスしようとするたびに:

public function post($uri = null, $data = array(), $request = array()) {
     //$this->log('entered post in http socket','paypal');
     $request = Set::merge(array('method' => 'POST', 'uri' => $uri, 'body' => $data), $request);
     return $this->request($request);
}

PaypalIpnSource.php 内の次のコード行を介して:

function isValid($data){
    // .... other codes
    $response = $this->Http->post($server, $data);
    return $response;
}

何も起こりません。/app/PaypalIpn/Model/DataSource/PaypalIpnSource.php の一部で特に何かをログに記録するように指示したにもかかわらず、何もログに記録されません

4

2 に答える 2

0

HttpSocketクラスの生の応答データをデバッグします。1.3では、過去にこのクラスで同じ問題が発生したケースがいくつかありました。

この行の後にhttp://api13.cakephp.org/view_source/http-socket/#l-292debug($ this-> request ['raw'])を試してください。

生データには、1.3クラスが取得しないものが含まれている可能性があります。

于 2012-05-28T06:38:38.797 に答える
0

さて、これが私がこれらのコード行を行ったことです

function isValid($data){
    // .... other codes
    $response = $this->Http->post($server, $data);
    return $response;
}

私はこのようにしました:

function isValid($data){
    // .... other codes
    return $this->Http->post($server, $data);
}

違いは定かではありませんが、このようにうまくいきました。Cakephp でペイパルの統合が完了したら、私のような初心者向けのチュートリアルを提供するようにします。私がそのように助けてくれることを願っています。私の次の目標は、ppcrypto を使用して暗号化を行うことです。

于 2012-05-29T00:37:32.030 に答える