cronでPHPを自動実行する例|mixhostでの設定|WordPressなど

WordPressなど、PHPを利用して作成されているウェブサイトなどを運営していると、定期的に自動でPHPスクリプトを実行させたい場合があるかもしれません。

今回は、そのような場合に利用できる例となり、サーバーでcronを設定し、PHPスクリプトを定期的に自動で実行させる例となります。

また、今回の例で使用するサーバーは、mixhostとなります。

cronでPHPを定期的に自動で実行させる例|mixhostでの設定

cron(クーロン)はUnixやLinuxで使用でき、指定した日時に自動で特定のスクリプトを実行することが出来ます。

今回は、そのcronをmixhostのサーバーで設定し、1日1回A.M.12:00に、作成したPHPファイルを実行させる設定例となります。

以下、mixhostでcronを設定する手順となります。

PHPスクリプトのファイルを作成・アップロード

まずは、cronで実行させるPHPスクリプトのファイルを作成し、mixhostのサーバーにアップロードします。

今回の例では、サーバー内のパス「/home/ユーザー名/public_html/ドメイン名」の直下に、ファイル名を「cron.php」としてアップロードします。

また、cronの設定で利用するため、アップロードしたPHPファイルのフルパスを確認しておきます。

例の場合、PHPファイルのフルパスは「/home/ユーザー名/public_html/ドメイン名/cron.php」となります。

PHPファイルのパーミッションを変更

PHPファイルをサーバーにアップロードしたら、cronで実行できるようにファイルのパーミッションを701などに変更します。

ファイルのパーミッションについては文末の参考サイトを確認してみてください。

ファイルへのアクセスを禁止する場合

上記のファイルにブラウザなどからアクセスをすると、ファイルが実行されます。そのようなファイルの実行を禁止するには、.htaccessファイルでアクセスを禁止にします。

今回の例では、次の構文でcron.phpファイルへのアクセスを禁止できます。

<FilesMatch "^cron\.php">
deny from all
</FilesMatch>

.htaccessでファイル・ディレクトリへのアクセスを禁止する方法の詳細は、以下のリンク先を参考にしてみてください。

mixhostのコントロールパネルからcronジョブを設定

次に「cron.php」ファイルを、cronジョブで定期的に実行させる設定を、mixhostのコントロールパネルから行います。

まず、mixhostへログインし、コントロールパネルの「詳細」内にあるの「Cronジョブ」を選択します。

mixhostのコントロールパネルの「詳細」カテゴリーの「Cronジョブ」を選択した画像

「新しいcronジョブの追加」画面となるので、定期的に実行させる「日時」と「コマンド」を指定します。そして、「新しいcronジョブを追加」ボタンをクリックしcronジョブを追加します。

今回の例では、以下の「新しいcronジョブの追加」画面のとおり設定します。

「新しいcronジョブの追加」画面の画像
「新しいcronジョブの追加」画面。定期的に実行させる「日時」と「コマンド」を指定し、コマンド欄の下にある「新しいcronジョブを追加」をクリックします

以下、「新しいcronジョブの追加」画面内での定期的に実行させる「日時」と「コマンド」の設定方法となります。

日時の設定方法

上記画像内の設定例では、定期的に実行させる日時の指定を「共通設定」の選択肢から、「1日に1回」を選択し、1日1回、A.M.12:00にcronジョブを実行させる設定としています。

日時の設定は、設定画面の「共通設定」以外からでも、日時の欄を自ら入力し、任意の日時を指定できます。

コマンドの設定方法

実行させるファイルは、「コマンド」の欄にファイルのパスを指定します。上記画像内の設定例では以下のパスを設定しています。

/usr/bin/php /home/ユーザー名/public_html/ドメイン名/cron.php

mixhostでのPHPファイルを指定する場合、/usr/bin/php の後に、実行させたいPHPファイルのフルパスを記述します。

また、mixhostのPHP以外のファイルへのパスは、文末の参考サイトを確認してみてください。

まとめ

以上の設定を行うことにより、mixhostにて、指定したPHPファイルを定期的に自動で実行することが出来ると思います。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。