雑記帳

日々の雑多なことをメモしているサイトです。

【備忘録】コアサーバーのcronでPHPを実行する

   

コアサーバーのcronでPHPを実行する

コアサーバーのcronではPHPを直接実行することができません。
実行の仕方とミスしてたところを備忘録として残しておきます。
最初にまとめると、
・実行するにはシェルスクリプトからPHPを呼び出す
・シェルスクリプトに実行権限(パーミッション)付与
・シェルスクリプトの改行コードは「\n(CR)」
の3点。

シェルスクリプト

コアサーバーのcron設定の画面にも書いてありますが、スクリプトは下記。

#!/bin/sh
/usr/local/bin/php /virtual/ユーザー名/phpスクリプトへのパス/phpスクリプトファイル名.php

権限(パーミッション)

スクリプトをターミナルから叩いたら下記のエラー。
「-bash: ./xxxx.sh: Permission denied」
実行権限がない。
初歩の初歩ですが、見事に忘れてました。

改行コード

権限を与えてから、叩いたらさらにエラー。
「: bad interpreter: No such file or directory」
ファイルかディレクトリが存在しないとのこと。
スクリプト内のパスを確認したところあっている。。。さらに調べたところ、改行コードでした。
サーバはLinuxなので「\n(LF)」。
ソースはエディタの設定で「\r\n(CR+LF)」。
ということで、改行コードを変換して、無事に実行となりました。

関連リンク

cronでPHPを呼び出す方法(コアサーバー公式)
https://www.coreserver.jp/support/faq/cron-php.php

 - 雑話