Php 在使用curl时调用了两次控制器操作

Php 在使用curl时调用了两次控制器操作,php,laravel,curl,Php,Laravel,Curl,我有一个奇怪的问题。 在laravel控制器操作中,我正在启动对同一服务器上的API的curl调用,并且在curl调用完成后再次调用我的同一控制器函数(其中启动了curl调用) $postdata = http_build_query($postvars); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $hostname . ':8083/api/'); curl_setop

我有一个奇怪的问题。 在laravel控制器操作中,我正在启动对同一服务器上的API的curl调用,并且在curl调用完成后再次调用我的同一控制器函数(其中启动了curl调用)

    $postdata = http_build_query($postvars);

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://' . $hostname . ':8083/api/');
    curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
    $answer = curl_exec($curl);

控制器操作是一个post操作,在该操作中,我将向同一服务器上的API进行curl post。

这不是在控制器上调用方法的正确方法。 假设你有

public function test(){

}

如果要从test调用test2,可以这样做:

public function test(){
   $this->test2();
}

很抱歉我没有在我的问题中添加任何控制器功能。这个curl调用是在helperyou说的
在一个laravel控制器操作中,我正在启动对同一服务器上的API和同一控制器函数的curl调用
。无论如何,若您想调用controller方法,那个么使用Curl并不是最佳实践。在您的web.php中注册命名路由并调用路由。感谢您的帮助,但我想我没有解释确切的场景,我在表单帖子上调用了一个控制器操作a,在该控制器操作中有一个helper函数,它对laravel之外的同一服务器上的API(在不同的端口8083上运行)进行cURL调用,所以,当这个cURL调用被启动时,我的同一个控制器动作会被无缘无故地再次调用。希望我能解释确切的情况。@AsimShaikh是的,我现在明白了。默认情况下不应该调用它,所以我想您正在调用的函数的代码是不正确的。所以请调查一下。也不要使用curl(我的意思是不直接)。尝试使用guzzle即使在使用guzzle之后,我也面临同样的问题:(
public function test(){
   $this->test2();
}