ホームページ >バックエンド開発 >PHPチュートリアル >Windows は PHP を定期的に実行します
多くの読者 (PHP 愛好家) は、仕事や勉強の過程でよく不満を抱くと思います。WIN で PHP に定期的にメールを自動的に送信させるにはどうすればよいですか? ? MYSQLで安心して自動バックアップを実現するにはどうすればよいでしょうか? ?もちろんすべて手動で行うこともできますが、操作が少し面倒に思えます。心配しないでください。この問題は、システムのタスク スケジューラ (Windows 98 ではスケジュールされたタスクと呼ばれます) を使用することで簡単に解決できます。この機能は、多くのユーザーによって見落とされたり、まったく考えられなかったりすることがよくあります :)。
いわゆるタスクプランとは、ユーザーが事前に設定したアプリケーションをコンピューターが自動的に呼び出すことで、ユーザーの操作を簡素化するものです。 Windows 2000 のタスク スケジューラ (*NIX の cron プログラムに相当します。ここでは詳しく説明しません) を使用すると、ニーズを満たす最適な時間に実行するスクリプト、プログラム、またはドキュメントをスケジュールできます。以下では Windows 2000 を例に説明します。
具体的には、タスク スケジューラを使用して自動的に実行する必要がある場合は、次の手順を実行する必要があります:
1. [スタート] ボタンをクリックし、[プログラム] → [アクセサリ] → [システム ツール] → 「「タスク」スケジュール」(または「設定」→「コントロールパネル」→「タスクスケジュール」)を選択して、Windows 2000 タスクスケジューラ管理プログラムを起動します。
2. [タスク スケジュール] ウィンドウの [タスク スケジュールの追加] アイコンをダブルクリックしてシステムの [タスク スケジュール ウィザード] を起動し、[次へ] ボタンをクリックして、自動的に実行する必要があるアプリケーションを選択します。指定された番組リストの番組を選択し、「次へ」ボタンをクリックします。
適切なタスク スケジュール名を設定し、このタスクを自動的に実行する頻度 (毎日、毎週、毎月、1 回、コンピューターを起動するたび、ログインするたびなど) を選択し、 「次へ」ボタン 。
この時点で、システムはユーザーに、何日、何時、実行できる時間帯など、プログラムを実行する特定の時刻を設定するように求めます。必要に応じて設定するだけです。 。
4. 次に、システムは今後システムが自動的に実行できるように、適切なユーザー名とパスワードを設定するようにユーザーに要求します (図 5 を参照)。
5. 最後に、「完了」ボタンをクリックするだけで、対応するタスクが Windows 2000 のタスク スケジューラに追加されます。その後、システム時刻と関連条件が一致すると、このタスクが自動的に「記憶」されます。ユーザー 設定した計画が一致すると、ユーザーが指定したアプリケーションが自動的に呼び出され、非常に便利です (Windows 2000 を起動するたびに、タスク スケジューラが自動的に起動し、バックグラウンドで実行され、ユーザーの計画が確実に実行されるようにします)。時間通りに実行されます)。
次に、作成したタスクが成功するかどうかをテストしてみましょう (図 6 を参照)、「php」プログラム アイコンを右クリックし、ポップアップ メニューで「実行」を選択します。通常の状況では、この方法でアクティブ化されている限り、プログラム アイコンは正常に起動できます。操作が失敗した場合は、ユーザーとパスワードが正しく設定されているかどうか、およびシステム リソースを節約するために「タスク スケジューラ」サービスが開始されているかどうかを確認できます。これにより操作が失敗し、コストがかかりました。私を見つけるのに長い時間がかかりました。さらに、「システム ログ」をチェックして、操作が失敗した原因を確認することもできます。
さて、タスク計画アプリケーションについてたくさん話したので、本題に移りましょう。以下に 2 つの例を紹介します:
1. PHP を定期的に実行します。
1. 次のコードを編集し、test.php として保存します。
<?php $fp = @fopen("test.txt", "a+"); fwrite($fp, date("Y-m-d H:i:s") . " 让PHP定时运行吧!/n"); fclose($fp); ?>
2. タスク プランを追加し、このステップでコマンドを入力します (図 2 を参照): D:/php4/php.exe -q D: /php4/test.php
3. 1 分ごとに実行する時間を設定し、タスクを実行します。
4. 次に、d:/php4/test.txt ファイルの内容が成功したかどうかを確認してみましょう。内容が以下のようであれば、成功おめでとうございます。
2003-03-03 11:08:01 PHP を定期的に実行しましょう。
2003-03-03 11:09:02 PHP を定期的に実行しましょう。
2003-03-03 11:10:01 PHP を定期的に実行しましょう。
2003-03-03 11:11:02 PHP を定期的に実行しましょう。
2. MYSQLの自動バックアップを実現可能に!
1. 次のコードを編集し、backup.php として保存します。圧縮したい場合は、rar.exe をコピーします。
<?php if ($argc != 2 || in_array($argv[1], array('--help', '-?'))) { ?>
backup Ver 0.01, for Win95/Win98/WinNT/Win2000/WinXP on i32 Copyright (C) 2000 ptker All rights reserved. This is free software,and you are welcome to modify and redistribute it under the GPL license PHP Shell script for the backup MySQL database. Usage: <?php echo $argv[0]; ?> <option> <option> can be database name you would like to backup. With the --help, or -? options, you can get this help and exit. <?php } else { $dbname = $argv[1]; $dump_tool = "c://mysql//bin//mysqldump"; $rar_tool = "d://php4//rar"; @exec("$dump_tool --opt -u user -ppassword $dbname > ./$dbname.sql"); @exec("$rar_tool a -ag_yyyy_mm_dd_hh_mm $dbname.rar $dbname.sql"); @unlink("$dbname.sql"); echo "Backup complete!"; } ?>
2、添加一个任务计划,在(如图2所示)这一步输入命令:
D:/php4/php.exe -q D:/php4/backup.php databasename
3、时间设置为每天运行一次,然后运行这个任务。
4、最后会在d:/php4/目录下生成一个以数据库名和当前时间组成的rar文件。
5、恭喜你!大功告成了!
当然备份方式有很多种,读者可按照自己喜欢的去做!
以上是原著.结合本人实贱,补充说明如下:
1. 如果出现错误:
在试着设置任务帐户信息时出现错误
指定的错误是:
0x80070005:拒绝访问
您没有运行所请求的操作的权限
在上面'"4.接下来系统将会要求用户设置适当的用户名及密码(如图5所示),以便系统今后能自动加以运行".这里最好用"system"用户,密码可为空.如图:
这个system的权限非常之高,比你的administrator还要高,所以你在运行命令的时候千万不要乱来,这个可是什么提示都没有就会无条件执行的,这个权限下你kill核心进程都行.
2.上面'"'2、添加一个任务计划,在(如图2所示)这一步输入命令:D:/php4/php.exe -q D:/php4/test.php",正确形式应为 '"D:/php4/php.exe'" -q '"D:/php4/test.php'" ,即路径要用双引号括住.
相关推荐:
windows定时执行PHP的技巧 windows10 下载 windows优化大师 windows7 64位旗舰
以上がWindows は PHP を定期的に実行しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。