0

これは非常に単純な質問である必要があると思いますが、私が達成しようとしていることに対する答えは見つかりません。

メールを送信するPHPファイルがあります。この部分は機能します。問題は、このPHPファイルを5分ごとに「実行」する必要があるということです。私の問題はスケジューリングにありません、私はそれを行う方法を理解しているとかなり確信しています。私の問題は、PHPファイルの「実行」にあります。私の心には、PHPファイルをブラウザで開いてコードをどこにでも吐き出すのではなく、PHPファイルを「実行」する方法に関する情報がまったくありません。このPHPファイルが機能するのは、Dreamweaverで作業しているときに、「このドキュメントの動的に関連するファイルが変更された可能性があり、サーバーで再検出する必要がある」というリンクをクリックすると実行されるためです。このPHPファイルと私は私の電子メールを送信します。このようなコマンドラインを試してみましたしかし、それが行うのは、ブラウザで実行しているかのようにphpコードを吐き出すことだけです。実際には何も送信されません。PHPファイル自体のフォーマット方法を変更してこれを行う方法はありますか?「検出」をクリックすると、Dreamweaverは何をしますか?これは単純なことであり、私が理解していないのは非常識なことだと思います。

4

2 に答える 2

3

デフォルト設定でPHPをインストールしたとすると、PHPフォルダーはPATH変数に含まれている必要があります。その場合、あなたがしなければならないのはコマンドを実行することだけですphp filename.php

そうでない場合は、PHPがインストールされている場所にコマンドを送信する"C:\Program Files\PHP\php.exe" filename.php必要があります。いずれにしても、ファイルでPHPバイナリを呼び出すだけです。

于 2012-06-08T00:10:49.243 に答える
1

オプションがあります。ブラウザからアクセスできる (そして期待どおりに電子メールを送信する) Web ページの場合は、5 分ごとに HTTP 経由でそのページをリクエストするだけです。個人的には、これを cURL で行います (例: curl.exe http://localhost/myfile.php)。Windows バイナリはここにあります。PowerShell などを使用することもできます。

これが Web ページではない場合、または単にそのルートに進みたくない場合は、既に理解したように、PHP のコマンドライン インターフェイス (CLI) を介して PHP を実行できます。C:\path\to\php.exe myfile.phpコードを実行し、出力を STDOUT に吐き出します。電子メールの送信を除いてすべてがこれで機能している場合 (あなたはこれを行っていると思います) mail、問題は PHP 構成にある可能性があります。デフォルトでは、PHP はこれらの場所で php.ini ファイルを探します。-cオプションで使用する php.ini ファイルを PHP CLI に明示的に指定することもできます(例: php.exe -c C:\path\to\php.ini myfile.php)。もちろん、メールを送信するには、php.ini ですべてを適切に構成する必要があります。これは、利用可能な平均的な Linux マシンよりも、Windows では少しトリッキーにsendmailなる可能性があります。

于 2012-06-08T00:19:31.967 に答える