前書き
こんにちは。@mashiです。
皆さんはスケジューラ使っていらっしゃいますか。
【決まった日時に実行させる】ことは便利ですし、特に業務関連のアプリでは使うものではないでしょうか。
今回は私が泥沼に嵌った(半日使ってしまいました)ことを共有させていただき、被害者を減らせたらと思います。
何が起きたのか
crontabからphpファイルを実行すると、「Extension '[実行ファイル]' not present.」と表示されていました。
パスは間違っていないし、ファイルは存在するし権限回りは大丈夫だし、そもそも動いているサーバからFTPで持ってきた物だったので動かない原因が全く分かりませんでした。
「Extension not present」等の検索をしてもなかなか欲しい情報がなく困り果ててしまいました。
確認したこと
- 権限
- 実行権限
- 所有者
- ファイルの存在
- パスの間違い
解決したこと
とあるサイト( https://ameblo.jp/j-field/entry-11046927335.html )にサラッと下記のような記載がありました。
補足
WindowsではCR+LFの改行コードを使用しているのに、UNIXではLFだけで改行コードとみなされ、
プログラムなどでは余ったCRのせいで誤動作を起こす場合がある。
FTPで、元の置いてあったサーバ→Windowsのローカル→新たに置くサーバ というように移動したので、その際におかしくなったのかなと。
なので、vimで新たなファイルを作成し、元のコードをコピペするだけでしたとさ。
ホントに無為な時間を過ごしてしまった・・・。