まず、phpファイルのcronジョブがあります。第二に、cronジョブによって呼び出されるphpファイルで、パラメーターを使用してファイルを呼び出したいと思います。php.iniを変更せずにそれを行うにはどうすればよいですか?
例:
include('file.php?id='.$id.');
phpのCLIバージョンはサポートしていないため、get-parametersを含めても機能しません。また、URLベースではなく、ファイルシステムベースでの作業も含まれます。include will / shouldはファイルfile.php?id=1を検索します。デフォルトでファイルを含む関数を作成してから、関数を呼び出す必要があります
URLを含むリモートファイルを含めることは非常に悪い習慣です。あなたがこれをしなければならないと思うなら、あなたの概念は単純に壊れています。api/他の種類のインターフェースを使用してremote-urlと対話してみてください。
他のファイルで関数を定義し、それを元のファイルで呼び出すことができます。例えば:
file.php:
function someFunction($x)
{
return $x*$x;
}
cron.php:
require 'file.php';
echo someFunction(10);
また、グローバルスコープで定義された変数は、他のファイルでも使用できます。たとえば、cron.phpで$ fooを定義すると、file.phpでその値を使用できます。これはお勧めできませんが、多くのグローバル変数を維持することは非常に困難です。
インクルードドキュメントによると、他のphpファイルが.txtではなく.phpを解析するように構成されている場合は可能です。このコードを試してください:
/* This example assumes that www.example.com is configured to parse .php
* files and not .txt files. Also, 'Works' here means that the variables
* $foo and $bar are available within the included file. */
// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';
// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';
// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';
$foo = 1;
$bar = 2;
include 'file.txt'; // Works.
include 'file.php'; // Works.
最も簡単な方法は、以下を使用することfile_get_contents()
です。
file_get_contents('http://localhost/file.php?id='.$id.');
より複雑なケースについては、PHPCurlをご覧ください。