2016-12-19 13 views
0

私はLaravel 5.3を使用していますが、この行はApp \ Console \ Kernel.phpのschedule()関数の下にあります。xml_decode()の実行時にLaravelスケジューラがエラーを投げる

$schedule->call('App\Http\Controllers\[email protected]')->everyMinute(); 

機能は一種の面倒ですが、それのJISTは:、データベースで見つかった最後のレコードのタイムスタンプを取得する「最後のタイムスタンプたのstart_dateのと新しいレコードを求めて新しいXML-RPCリクエストを作成しますDB 'に、XML-RPC結果をデコードしてDBに挿入します。

public static function fetchXmlRpcResult($user, $password, $account_id, $date) 
    { 
     $client = new Client('https://example.com/xmlapi/'); 
       $client->setSSLVerifyPeer(false); 
       $client->setSSLVerifyHost(2); 
       $client->setCredentials($user, $password, CURLAUTH_DIGEST); 

       $parameters = [removed] 
       $request = new Request('getAccountData', $parameters); 

     $response = $client->send($request); 

     // removing the 401 HTTP Unauthorized header 
     $xml = (substr($response->raw_data, strpos($response->raw_data, "\r\n\r\n")+4)); 

     // removing the OK HTTP header 
     $xml2 = (substr($xml, strpos($xml, "\r\n\r\n")+4)); 

     $accountCDRs = xmlrpc_decode($xml2); 

     return $accountInfo; 
    } 

私はコンソールでphp artisan schedule:runを実行すると、私はこのエラーが表示しています:

Running scheduled command: App\Http\Controllers\[email protected] 

XML-RPC: PhpXmlRpc\Helper\Http::parseResponseHeaders: HTTP error, got response: HTTP/1.1 401 Unauthorized 


    [Symfony\Component\Debug\Exception\FatalThrowableError] 
    Call to undefined function App\Helpers\xmlrpc_decode() 

コントローラは、アプリケーションの\ヘルパー\ XmlHandler.phpに、私が使用し、そのファイル内のファイルを使用しています次のクラス:

use PhpXmlRpc\Value; 
use PhpXmlRpc\Request; 
use PhpXmlRpc\Client; 

HTTPレスポンスが拒否されますか?私はブラウザを介して同じ機能を実行しようとしました(別名、http://example.com/updateの下にあるroute.phpの機能を入れてみました)。

+0

使用することができますパッケージ(Ubuntu)を開き、それをPHP CLIのphp.iniで有効にします – Spacemudd

答えて

0

phpxmlrpcライブラリの最新バージョンにアップグレードしてください。 curlを使用して基本/ダイジェスト認証を使用する呼び出しを正しく行うためのバグを修正しました。

あなたは、あなたが手動応答と応答の余分な解析からのHTTPヘッダーの削除を実行しようとする行を削除し、ちょうど私がちょうどphp7.0-XMLRPCをインストールする必要がありました$response->value()

関連する問題