ロリポップのcron設定でできること
cronは、決まった時間にPHPなどのプログラムを自動実行するための仕組みです。ロリポップではユーザー専用ページからcron設定ができるため、簡単な定期処理なら自分のサイト運用にも使えます。
ただし、ブラウザで見るPHPページとcronで実行するPHPでは、パスやPHPバージョンの扱いでつまずくことがあります。この記事では、ロリポップでcronを使う時に確認したいポイントを実務寄りに整理します。
確認日と対象
確認日: 2026年5月18日。ロリポップでWordPressではない自作HTML/PHPサイトを運用し、PHPスクリプトをcronで定期実行したい初心者向けです。
大規模なジョブ管理、キュー処理、WordPressプラグイン固有のcron、外部クラウドのスケジューラー設計は対象外です。まず、実行ファイルパス、PHPバージョン、通知メール、ログ出力、秘密情報の扱いを分けるための記事として使ってください。
この記事で解決する症状
- ロリポップのcronでPHPを定期実行したいが、何から確認すべきか分からない
- ブラウザでは動くPHPが、cronでは動かない
- includeパス、PHPバージョン、通知メール、ログ出力のどこで止まっているか分からない
- AIにcron設定を相談したいが、DB情報や管理画面情報を貼ってよいか不安
cron設定でつまずかない確認順
最初はログを書く小さなcronで動作確認し、実行ファイルパス、__DIR__、PHPバージョン、通知メールを確認してから本番処理へ進みます。
cronでできること
ロリポップ公式でも、cronは定期的なホームページ更新、バックアップ、メールの自動配信などに使える機能として案内されています。小さなPHPサイトなら、次のような使い方が現実的です。
- 毎日決まった時間にサイトマップを再生成する
- 古いキャッシュファイルを削除する
- 問い合わせやログの件数を集計する
- バックアップ用の処理を動かす
- 予約公開用のステータスを更新する
プランごとの登録数と実行間隔
cronはプランによって登録できる数と最小実行間隔が違います。ロリポップの公式マニュアルでは、エコノミーは1件、ライトは5件、スタンダード以上は10件まで、最小間隔はライト以下が5分、スタンダード以上が1分と案内されています。
| プラン | 登録数 | 最小実行間隔 |
|---|---|---|
| エコノミー | 1 | 5分毎 |
| ライト | 5 | 5分毎 |
| スタンダード | 10 | 1分毎 |
| ハイスピード | 10 | 1分毎 |
| エンタープライズ | 10 | 1分毎 |
短い間隔で重い処理を回すとサーバー負荷になります。最初は1日1回や1時間1回のように、控えめな間隔から試すのが安全です。
実行ファイルパスでつまずきやすい
ロリポップのcron設定では、実行するプログラムファイルのパスを入力します。公式マニュアルでは、FTPのトップディレクトリからのパスを入れるよう案内されています。
例:
/home/users/2/lolipop.jp-アカウント名/web/cron/daily.php
実行されるPHPファイルの中で別ファイルを読み込む場合は、相対パスで迷いやすくなります。cron用スクリプトでは、できるだけ絶対パスや __DIR__ を使います。
<?php
require_once __DIR__ . '/../includes/db_config.php';
// ここに定期実行したい処理を書く
ブラウザで直接開ける場所に置かない
cron用PHPは、管理用の処理を含むことがあります。URLを知っていれば誰でも実行できる場所に置くと危険です。公開フォルダ外に置けるなら外へ、難しい場合は中で実行制限を入れます。
AIに貼る前に伏せる情報
cronの相談では、実行ファイル名やエラー文は役に立ちます。ただし、次の情報はAIや公開チャットへそのまま貼らないでください。
- ロリポップ管理画面、FTP、SSH、DBのログイン情報
- DBホスト名、DB名、DBユーザー名、DBパスワード
- cronで実行する本番処理の秘密キー、APIキー、Webhook URL
- 顧客情報、問い合わせ内容、会員情報、非公開ログの中身
<?php
if (PHP_SAPI !== 'cli') {
http_response_code(403);
exit('Forbidden');
}
PHPバージョン変更後はcron再設定も確認する
ロリポップの公式マニュアルでは、cronでPHPを使う場合、cron設定時点のロリポップ!ドメインのPHPバージョンで実行される旨が案内されています。cron設定後にPHPバージョンを変えた場合、cron側も再設定が必要になる点に注意します。
ブラウザでは新しいPHPで動くのに、cronだけ古い挙動をする時は、この差を疑います。
通知メールを使って失敗に気づく
cron実行時に出力がある場合、結果をメール通知できます。最初のテストでは通知を有効にして、エラーや出力が届くか確認すると切り分けやすいです。
<?php
echo date('Y-m-d H:i:s') . " cron start\n";
// 処理
echo date('Y-m-d H:i:s') . " cron done\n";
よくある失敗
| 症状 | 確認ポイント |
|---|---|
| 実行されない | 実行ファイルパス、スケジュール、cron設定の保存状態 |
| includeで止まる | 相対パスではなく __DIR__ や絶対パスにする |
| ブラウザでは動くのにcronだけ失敗 | PHPバージョン、実行環境、権限、パスの違い |
| メール通知が来ない | 通知先、迷惑メール、cronの出力有無 |
| サーバーが重くなる | 実行間隔、処理量、無限ループの有無 |
最初に作るなら小さな確認用cron
いきなりDB更新やバックアップ処理を動かすより、最初はログを1行書くだけのスクリプトで確認すると安心です。
<?php
$log = __DIR__ . '/cron-test.log';
file_put_contents($log, date('Y-m-d H:i:s') . " OK\n", FILE_APPEND);
このファイルが更新されれば、cron自体は動いています。そこから本番用の処理を少しずつ足していきます。
AIに貼る相談メモ
AIに相談する時は、cron設定画面の秘密情報を貼らず、実行したい内容、ファイルパス、PHPバージョン、ログや通知の状態を整理します。
ロリポップのcron設定でPHPを定期実行したいです。
実行したい目的:
例: サイトマップ再生成 / ログ集計 / バックアップ補助 / 予約公開チェック
実行ファイルの場所:
例: /cron/daily.php
cron設定で入力した実行ファイルパス:
例: /home/users/.../web/cron/daily.php
PHP内で読み込んでいるファイル:
例: ../includes/db_config.php / ../config.php
ブラウザで直接開いた時:
動く / 動かない / 403にしている / 未確認
cron実行結果:
ログが書かれる / 通知メールが来る / 何も起きない / エラー文あり
PHPバージョン:
例: ブラウザ側とcron側が同じか未確認
伏せている情報:
ロリポップ管理画面情報、FTP情報、DB接続情報、APIキー、個人情報
実行ファイルパス、includeパス、PHPバージョン、通知メール、ログ出力の順で確認すべき場所を教えてください。
公式情報で確認するところ
cronはプラン、実行間隔、PHPバージョン、設定画面の仕様に関わります。この記事では実務の確認順を整理していますが、登録数や実行間隔などは公式情報も確認してください。
| 確認したいこと | 公式情報 | この記事での使い方 |
|---|---|---|
| cronの設定方法 | ロリポップ公式 cronの設定方法 | 実行ファイルパス、通知メール、PHPバージョンの注意点を確認する時に使います。 |
| プランごとの登録数と実行間隔 | ロリポップ公式 cron設定(定期実行) | 登録できるcron数と最小実行間隔を確認する時に使います。 |
| PHP設定 | ロリポップ公式 PHP設定 | ブラウザでは動くのにcronだけ失敗する時、PHPバージョン差を疑う材料にします。 |