Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:向带有curl的.PHP文件发送POST请求时遇到困难_Php_Curl_Http Post - Fatal编程技术网

PHP:向带有curl的.PHP文件发送POST请求时遇到困难

PHP:向带有curl的.PHP文件发送POST请求时遇到困难,php,curl,http-post,Php,Curl,Http Post,我有一个php文件,比如说a.php,它通过$\u POST方法获取一些变量,并更新本地数据库 另一个名为dataGather.php的php文件以正确的形式收集数据,然后尝试使用A.php文件将数据发送到本地数据库。请注意,这两个文件位于同一目录中 我使用curl函数执行POST请求的代码如下: $url = "A.php"; $ch = curl_init(); $curlConfig = array( CURLOPT_URL =

我有一个php文件,比如说
a.php
,它通过
$\u POST
方法获取一些变量,并更新本地数据库

另一个名为
dataGather.php
的php文件以正确的形式收集数据,然后尝试使用
A.php
文件将数据发送到本地数据库。请注意,这两个文件位于同一目录中

我使用curl函数执行
POST
请求的代码如下:

    $url = "A.php";
    $ch = curl_init();
    $curlConfig = array(
        CURLOPT_URL            => $url,
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS     => $datatopost
    );
    curl_setopt_array($ch, $curlConfig);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;
$datatopost = array (
       "value1" => $val1,
       "value2" => $val2,
        etc
 }
$datatopost

是一个如下所示的数组:

    $url = "A.php";
    $ch = curl_init();
    $curlConfig = array(
        CURLOPT_URL            => $url,
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS     => $datatopost
    );
    curl_setopt_array($ch, $curlConfig);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;
$datatopost = array (
       "value1" => $val1,
       "value2" => $val2,
        etc
 }
问题是,当我运行程序时,会得到以下结果:

Fatal error: Maximum execution time of 30 seconds exceeded in 
        C:\xampp\htdocs\dataGather.php on line 97
有人知道为什么会这样吗?提前谢谢


PS:A.php文件
A.php
是100%正确的,因为我通过收集javascript所需的信息对其进行了测试。它以我想要的方式通知数据库。另外,数组
$datatopost
的所有信息的格式都正确。

我怀疑您直接运行php脚本而不使用web服务器,而只是将脚本作为可执行文件启动。这是由您在错误消息中有一个绝对路径这一事实所暗示的。虽然运行这样的php脚本是绝对好的,但您必须问问自己:cURL调用实际上是做什么的?它不会打开并运行您试图引用的php文件
A.php
。为什么不呢?因为cURL打开的是URL,而不是文件。如果不使用能够对url请求做出反应的服务器(比如http服务器),您希望发生什么


您得到的错误是超时,因为cURL试图联系http服务器。由于您没有指定有效的URL,它很可能会返回到“localhost”。但是没有服务器在那里侦听…

因此响应时间太长。你有没有试过在电话之外发布,比如从网页上,看它是否在滴答滴答地响?是的,我试过看它是否收集了信息,而且它在不到一秒钟的时间内就收集到了,我甚至打印了所有的信息,看它的格式是否正确。在datagather内部,我使用POST方法将数据保存在本地数据库中。我试着在localhost下运行它,如果在网页上运行它会有什么不同吗?非常感谢,这确实是个问题!!我将$url更改为“”,它成功了!哇,快凌晨2点了,真不敢相信我为此浪费了2个小时。