ホームページ >バックエンド開発 >PHPチュートリアル >バットはPHPファイルを実行します

バットはPHPファイルを実行します

WBOY
WBOYオリジナル
2016-06-23 14:10:271748ブラウズ

MVCフレームワークやルーティングアクセスフォームと同様のファイルを実行するためにbatファイルを使用したいと考えています。コードは次のとおりです:
D:wampbinphpphp5.3.3php-cgi.exe -f http://localhost/magento7/customer/points/
しかし、後で、bat がローカルの PHP ファイルしか実行できないことがわかりました。

実は、私がやりたいことの目的は、タスクスケジュールを使用してPHPプログラムを毎日自動的に実行することなので、それをbatを使用して実行することを考えました。

他に方法はありますか?


ディスカッションへの返信(解決策)

このスクリプトをサーバー上で定期的に実行し、パスをサーバー上のパスに変更してください

このスクリプトをサーバー上で定期的に実行できませんか?

私のWebサイトのアーキテクチャはMVCです。ローカル絶対パスを使用して直接実行することはできません。

ブラウザを呼び出して実行します
@start http://localhost/magento7/customer/points/

ただし、ブラウザウィンドウが表示されます
vbs で非表示にすることもできますが、XP でのみ機能します

そうではありません他の方法をまだ知りません。見つけたら、忘れずに教えてください

ブラウザを呼び出して実行します
@start http://localhost/magento7/customer/points/

ただし、ブラウザ ウィンドウが表示されます
次のコマンドで非表示にすることができますvbs ですが、XP でのみ有効です
他の方法についてはまだ知りませんので、見つけたら、忘れずに教えてください
はい、モデレーターありがとうございます。


ブラウザを呼び出して実行します

@start http://localhost/magento7/customer/points/

ただし、ブラウザウィンドウが表示されます
vbs で非表示にできますが、XP でのみ機能します

その他メソッドは一時的なものです。わかりません。見つけたら、忘れずに教えてください

その後、スケジュールされたタスクを使用して、数分後にこのウィンドウを閉じてください

これにはセキュリティ上の問題があるようです。

ブラウザを呼び出して実行します
@start http://localhost/magento7/customer/points/

ただし、ブラウザウィンドウが表示されます
vbs で非表示にできますが、XP でのみ有効です

その他メソッドは当面利用できません はい、見つけたら忘れずに教えてください

その後、スケジュールされたタスクを使用して、数分後にこのウィンドウを閉じます

顧客に見えるようにウィンドウをポップアップ表示したくないのですが、このアクションはポイント更新アクションであるためです。つまり、毎日0時にポイント配布期間を過ぎた注文があるかどうかを確認して、ポイント配布を実行します。

データベース接続、操作などを PHP ファイルに記述するだけでは安全ではありませんか? つまり、ポイントのチェックと発行を行うために MVC を必要とせず、この PHP ファイルを使用して対話するだけです。データベース。

特別なプログラムとして記述できれば一番良いのですが

なぜ安全ではないのでしょうか?あなたのマシンが安全であれば、それは安全です

2 つの質問

1. php.exe はさておき、http://localhost/magento7/customer/points/ は php 形式を返しますか?
2. localhostなので、システムパスを直接使用してみてはいかがでしょうか?

サーバー上で php を実行したい場合 (たとえば、Apache を必要とするモジュールが含まれている場合)
php.exe の代わりに、curl/wget などのコマンドライン exe を使用してリクエストすることをお勧めします

私もこの問題が発生した場合、一時的な解決策は、システムのスケジュールされたタスクを使用することです。システム ブラウザをデフォルトで IE に設定し、次のコードを定期的に実行します

DIM IESET IE = CREATEOBJECT("INTERNETEXPLORER.APPLICATION")IE.NAVIGATE("http://localhost/magento7/customer/points/")IE.VISIBLE=falseSET IE = NOTHING

こうすることで、スクリプトの実行時にブラウザ ウィンドウが開かなくなります。

PHP スクリプトを作成し、CURL を使用し、アクセス プロセスをシミュレートし、スクリプトの実行を定期的にスケジュールします。

2 つの質問

1. php.exe はさておき、http://localhost/magento7/customer/points/ は php 形式を返しますか?
2. localhostなので、システムパスを直接使用してみてはいかがでしょうか?

サーバー上でphpを実行したい場合(例えば、Apacheを必要とするモジュールが含まれている場合)
php.exeの代わりにcurl/wgetなどのコマンドラインexeを使用してリクエストすることをお勧めします
正解、パラメータ-f のパスを指定する必要があります。先頭に http:// があり、HTTP プロトコルが使用されることを示します。スクリプトはサーバー側で直接実行され、実行結果が返されます。つまり、php-cgi が取得するのは、スクリプト自体ではなく、要求されたスクリプトの実行結果です。

ソフトウェアを作成してサーバーにハングアップします

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。