我在我的localhost中有2个laravel应用程序(用于测试目的)......我希望我的第一个laravel应用程序将POST数据发送到我的第二个laravel应用程序,然后将这些数据保存到mysql数据库。
所以这是我的第一个laravel应用程序路径
Route::get('post_request', function()
{
$client = new \GuzzleHttp\Client();
$url = "http://bkculv5.local/api_post";
$response = $client->post($url,[
'json'=>[
'judul' => 'title','content' => 'konten'
]]);
});
这是我的第二个laravel应用程序路径
Route::post('/api_post', function(Request $request){
$judul = $request->judul;
$content = $request->content;
$artikel = new App\Artikel;
$artikel->judul = $judul;
$artikel->content = $content;
$artikel->save();
});
我得到的是
服务器错误:
POST http://bkculv5.local/api_post
导致500 Internal Server Error
响应:
当我将myfirstapplaravel.local/api_post
放入浏览器
知道为什么吗?或者我在使用ajax中的帖子时是否需要使用X-CSRF-TOKEN?
这是我在apache xampp中的错误日志
[Thu Jul 20 15:26:35.201109 2017] [core:error] [pid 1500:tid 604] (EAI 11002)APR does not understand this error code: AH00549: Failed to resolve server name for 36.86.63.180 (check DNS) -- or specify an explicit ServerName
[Thu Jul 20 15:26:35.439807 2017] [ssl:warn] [pid 1500:tid 604] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Thu Jul 20 15:26:35.487845 2017] [mpm_winnt:notice] [pid 1500:tid 604] AH00354: Child: Starting 150 worker threads.
答案 0 :(得分:0)
在您的Windows主机文件中添加您的Laravel应用程序IP,也不要忘记CORS。希望有所帮助。有时https可能会导致问题,但是他们的库中总是有API来跳过安全检查(仅用于开发目的)。
$client = new Guzzle\Http\Client();
$client->setDefaultOption('verify', '/path/to/cacert.pem');
或者,如果您需要禁用SSL验证:
$client->setDefaultOption('verify', false);