2

提供されたメーリングリストで10秒後に継続的にメールを送信するPHPスクリプトを作成しましたが、Webブラウザーで開いたままにしておくと機能しますが、ホスティングサーバーでこのスクリプトを実行する方法はありますか?ブラウザとインターネット接続を常にオンにしておく必要はありません。このスクリプトは、コンピュータの電源がオフになっていても、サーバー自体で継続的に機能しますか?

4

4 に答える 4

2

これをデーモンまたは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

于 2012-10-28T16:02:32.647 に答える
2

コマンドフィールドで問題が発生していると仮定して、
[実行するコマンド:]フィールドに、スクリプトへのフルパスを入力します(これについては、ホストに確認する必要がある場合があります)。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

これがお役に立てば幸いです。

于 2012-10-29T14:20:42.087 に答える
0

これにはcronジョブを使用する必要があります。cronジョブは、ユーザーが設定した定期的な間隔で実行できます。

于 2012-10-28T15:59:42.393 に答える
0

cron経由で実行できます...

ホスティングプロバイダーにSSHで接続し、crontabに移動します。crontab -e

そして、wgetを使用する設定時間ごとにcronを設定します。

wget [options] [url]

これを適切に行う方法については、グーグルでcronを検索してください

編集:SSHにアクセスできず、Windowsを使用している場合は、スケジュールされたタスクを設定できます。これは、cronジョブの機能不全の兄弟です。wgetをシミュレートするphpスクリプトを実行できます。コンソール経由でphpを実行する*.batファイルに対してスケジュールされたタスクを実行することをお勧めします

doThis.bat

php [script-location]
于 2012-10-28T16:01:27.917 に答える