2

ディレクトリを作成するためのphpファイルがあります。そのphpファイルをバックグラウンドで実行したい。以下のような2つのファイルを書きました。

file1.php

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1);
echo 'calling file1';
if(!is_dir('testdir')){
   mkdir('testdir');
}
?>

index.php

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1);
$i = '';
exec("php file1.php $i > test.txt &");
?>

ブラウザ経由でindex.phpを実行した際にディレクトリを作成したい。私は exec() 関数を書き間違えていると思います。どうなるか誰か教えてくれませんか?

4

1 に答える 1

0

したがって、答えは CURL を使用することです。そのために PHP バイナリを使用する必要がないからです。

file2.php が終了するまで file1.php を待機させたくない場合は、file1 の cUrl リクエストにタイムアウトを追加します。

$curlcontext,CURLOPT_CONNECTTIMEOUT_MS,100;

ここで、これを file2.php に追加することが重要です。

ignore_user_abort (true);

タイムアウトまたは file1.php 後に file2.php が終了しないことを意味します。

http://php.net/manual/en/function.ignore-user-abort.php http://php.net/manual/en/function.curl-setopt.php

于 2013-01-08T15:55:40.963 に答える