Как запустить скрипт php - PullRequest
0 голосов
/ 01 октября 2018

У меня написано 7-8 php-скриптов, которые извлекают данные с удаленного сервера и сохраняют их на нашем сервере.Каждый скрипт вставляет / обновляет около 3000-4000 записей одновременно.Когда я нажимаю на любой скрипт из браузера, он работает нормально (индивидуальный скрипт), но если я пытаюсь собрать все файлы вместе, написав заголовок ('Location: http://www.example.com/'), то получится перерыв. Может кто-нибудь предложить мне лучший способ работы сКто-то предложил мне использовать многопоточность, я еще не использовал многопоточность, поэтому кто-нибудь может помочь мне с лучшим подходом / решением. TIA.

1 Ответ

0 голосов
/ 01 октября 2018

Примечание: ваш текущий код не работает, потому что header('Location: example.com') перенаправляет браузер на example.com, что означает, что ваш php-скрипт завершил работу и браузер теперь работает на example.com

Решение 1: , если allow_url_fopen установлено в «Вкл» в php.ini, вы можете выполнить их следующим образом:

<?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 будут переносить любые данные, возвращаемыескрипты.

...