私は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の機能を入れてみました)。
使用することができますパッケージ(Ubuntu)を開き、それをPHP CLIのphp.iniで有効にします – Spacemudd