ブログBlog

「Xserver」で「cron」が動かない

お客様要件で、データベースに蓄積されたデータを使ってレポートを作成する必要があり、本プログラムを作成しました。
夜間に動作させるため、cronを使いバッチ処理で動作させようとしたところ、なぜかエラーに遭遇。サーバーは、「Xserver」を使っておりました。備忘録もかねてその解決策をついて記載いたします。

 

1.発生したエラー内容

require_once(): Failed opening required ‘./wp/wp-load.php’

WordPressのライブラリを呼び出す、require_once()で発生していました。

 

2.今回は、「Xserver」の「cron設定」から実施

いつもならば、SSH経由でcronを設定するのですが、今回は、「Xserver」のコントロールパネルの「cron設定」から設定をしていました。
(GUI形式での設定が楽なので。)

「Xserver」の「cron設定」

「Xserver」の「cron設定」

ところが、上記のエラーを出力し動かない事象に遭遇

SSH経由では動いていた実績があるので、あらためてSSHからcronに登録すると、これは、問題なく動きました。

 

3.原因と対処

どうやら、requiredで書かれている箇所で発生しているので、相対パスがいけないのかなと思い試しに絶対パスにしたところ、エラーが発生しませんでした。
とはいえ、全てを絶対パスに書き換えるのはナンセンスですので、該当ファイルがあるディレクトリに移動してから、プログラムを実行するようcronに設定するようにしました。
すると、うまく動作しました。

例)cron(これを、Xserverのコントロールパネルの「cron設定」から設定しました)

なぜ、SSH経由だと実行可能なのか。を調べてみたのですが、結論としては、SSH経由だと実行ディレクトリが正しく認識されており、当然の事ながら正常に動作していました。

もし、cronが動かないような場合には、プログラムを疑うだけでなく、環境周りを確認する事、また、場合によってはサーバー会社のサポート窓口に問い合わせしてみるのも良いかもしれません。

以上、皆さまのお役に立てれば幸いです。

 

WEB DESIGN

RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。

「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。

運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。

しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。

本業が忙しい中小企業様に大変ご好評を頂いている商品です。

  • 独自ドメイン取得

    独自ドメイン取得

  • サーバー開設&設定

    サーバー開設&設定

  • レイアウト設計

    レイアウト設計

  • レスポンシブルデザイン

    レスポンシブルデザイン
    (*1)

  • 検索エンジン最適化(SEO対策)

    検索エンジン最適化
    (SEO対策)

  • 場所Maps

    場所Maps

  • お問い合わせフォーム

    お問い合わせフォーム

  • SSL化

    SSL化

  • 各種SNS連携

    各種SNS連携

  • 運用マニュアル

    運用マニュアル

≫詳細はこちら

MENU