【備忘録】コアサーバーの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