【问题标题】:How to run php script如何运行php脚本
【发布时间】:2018-10-01 09:58:53
【问题描述】:

我编写了 7-8 个 php 脚本,它们从远程服务器中提取数据并将其存储到我们的服务器中。每个脚本一次插入/更新大约 3000-4000 条记录。当我从浏览器中点击任何脚本时,它都可以正常工作(单个脚本),但是如果我尝试通过编写 header('Location: http://www.example.com/') 来调用所有文件,它就会中断。谁能建议我一个更好的方法来解决这个问题。有人建议我使用多线程我还没有使用线程所以任何人都可以帮助我更好的方法/解决方案。 TIA。

【问题讨论】:

    标签: php mysql multithreading bulkinsert bulkupdate


    【解决方案1】:

    注意:您当前的代码不起作用,因为header('Location: example.com') 将浏览器重定向到example.com,这意味着您的 php 脚本已完成运行并且浏览器现在在 example.com

    解决方案 1: 如果allow_url_fopen 在 php.ini 中为“On”,您可以使用以下命令执行它们:

    <?php 
       $url1 = file_get_contents('http://www.example.com/1.php');
       $url2 = file_get_contents('http://www.example.com/2.php');
    ?>
    

    等等……

    解决方案 2:

       function initCURL($url) {
              $curl = curl_init();
              curl_setopt($curl, CURLOPT_URL, $url);
              curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($curl, CURLOPT_HEADER, false);
              $data = curl_exec($curl);
              curl_close($curl);
              return $data;
       }
    

    如下使用:

    <?php
       $url1 = initCURL('http://www.example.com/1.php');
       $url2 = initCURL('http://www.example.com/2.php');
    ?>
    

    在这些示例中,$url1$url2 将携带脚本返回的任何数据。

    【讨论】:

    • 您好,感谢 Jaswinder Singh 的帮助。我会试试这个代码,并会让你知道。非常感谢。
    • 嗨 Jaswinder Singh 非常感谢。解决方案 1 效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2014-10-13
    • 2012-03-14
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多