提供されたメーリングリストで10秒後に継続的にメールを送信するPHPスクリプトを作成しましたが、Webブラウザーで開いたままにしておくと機能しますが、ホスティングサーバーでこのスクリプトを実行する方法はありますか?ブラウザとインターネット接続を常にオンにしておく必要はありません。このスクリプトは、コンピュータの電源がオフになっていても、サーバー自体で継続的に機能しますか?
4 に答える
これをデーモンまたはcronとして実行します。cronの場合、1分ごとに実行できます。cronは以下をサポートしていません。cronエントリは次のようになります。
# m h dom mon dow command
* * * * * /usr/bin/php /path/to/project/file.php
デーモンの場合、基本的にこのスクリプトはコマンドラインから実行します。スクリプトでは、10秒のスリープでwhileループを実行します。
while(true){
// do stuff
sleep(10);
}
デーモンソリューションはより柔軟ですが、実装が困難です。このためには、 +またはシグナル、フォークダメオン、ロギングを処理するためのシグナル処理を処理する必要があります。CtrlCKILL
コマンドフィールドで問題が発生していると仮定して、
[実行するコマンド:]フィールドに、スクリプトへのフルパスを入力します(これについては、ホストに確認する必要がある場合があります)。phpファイルを実行する場合、コマンドはphpで始まります。たとえば、RSSインポートを実行してPliggフィードを更新する場合は、phpとimport_feeds.phpファイルへのパスを入力します。
ANホスティングでは、パスは次のようになります。
php /home/[your username]/public_html/rss/import_feeds.php
MySQLデータベースをバックアップしてコピーを電子メールで送信する自動バックアップスクリプトを実行する場合(WordPressブロガー(およびその他)の8つのMySQLバックアップ戦略、戦略#7を参照)、/ bin / sh(これはシェルスクリプトであるため)、およびスクリプトへのパス。
ANホスティングでは、パスは次のようになります。
/bin/sh /home/[your username]/etc/upstart_cron_backup.sh
これがお役に立てば幸いです。
これにはcronジョブを使用する必要があります。cronジョブは、ユーザーが設定した定期的な間隔で実行できます。
cron経由で実行できます...
ホスティングプロバイダーにSSHで接続し、crontabに移動します。crontab -e
そして、wgetを使用する設定時間ごとにcronを設定します。
wget [options] [url]
これを適切に行う方法については、グーグルでcronを検索してください
編集:SSHにアクセスできず、Windowsを使用している場合は、スケジュールされたタスクを設定できます。これは、cronジョブの機能不全の兄弟です。wgetをシミュレートするphpスクリプトを実行できます。コンソール経由でphpを実行する*.batファイルに対してスケジュールされたタスクを実行することをお勧めします
doThis.bat
php [script-location]