cronでPHPファイルを実行させると

下記のエラーが出ます。何故でしょうか??

絶対パス/test.php: line 1: ?: No such file or directory
絶対パス/test.php: line 2: syntax error near unexpected token `'test','

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/04/25 23:23:19
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:Bombastus No.1

回答回数409ベストアンサー獲得回数52

ポイント23pt

ソースや環境が分からないので何とも言えませんが、1行目は

#!/PHPへのパス

となっていると思います。この「PHPへのパス」が存在しないのではないでしょうか。ご確認ください。


Linuxのcronについての質問です」も参考にしてください。

id:makocan

エラー箇所はdefindeで定数を定義しているだけの箇所なのです。

環境はヘテムルサーバーなのですが

cron以外では正常に動作します。

2010/04/24 21:50:31
id:ko8820 No.2

回答回数1221ベストアンサー獲得回数69

ポイント23pt

>cron以外では正常に動作します。

ブラウザ経由でなくて

コンソールでちゃんと動作してると考えてよいのでしょうか?

#!/PHPへのパス

ブラウザ経由で実行する場合と違って、

コンソールで実行するためには、1行目にこのような記述が必須です。

http://q.hatena.ne.jp/answer

id:TRTr No.3

回答回数52ベストアンサー獲得回数13

ポイント22pt

cronの設定には何を書きましたか?

それと、異常が出る箇所だけでもソースが無いと、アドバイスのしようがありません。


そのため、以下全て書かれていない内容を推定しての推測です。

syntax error near unexpected token はPHPのエラーではなく、shellのエラーと思われます。

cronは通常のシェルからの実行とは実行パスが異なるため、

絶対パスで記述する必要があります。

/homeからはじまるtest.phpまでのパスをcronに指定されているでしょうか?


設定は

http://heteml.jp/support/manual/cron/

を見て行っておられるでしょうか?

hemtelではceonでphpを実行する場合

#!/usr/local/bin/php

もしくは

#!/usr/local/bin/php5

とするようになっています。

この行に他の文字を書くと動作しません。

id:Bombastus No.4

回答回数409ベストアンサー獲得回数52

ポイント22pt

hetemlの公式マニュアル「cron 設定マニュアル」によると、cronでPHPを実行する場合は、PHPスクリプトの冒頭を下記のようにしてください。先頭行がdefineになることはないはずです。

#!/usr/local/bin/php5 
<?php
以下、PHPスクリプト部分

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません