• ベストアンサー

プログラムから動作が実行できないことについて

現在さくらインターネットのVPS4Gプランを利用していますが、特定のプログラム(sample.php)を直接ブラウザにアドレスを入力して叩くと動作するのですが、外部のプログラム(Cron処理)で実行するとエラーとなってしまいます。 以前別サーバーを利用していたときは問題なく動作していたため、おそらくサーバー設定の問題かと思いますので解決方法等御座いましたらご指南のほどよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

cronでの起動はサーバによっていろいろ違う可能性が高いですね。phpスクリプトのファイルを直接起動できるサーバの方が少数派の気はします。 普通はコマンドとしてphp(/usr/local/bin/phpなど)を指定して引数としてphpスクリプトファイルを渡しますね。その場合でもcdコマンドでユーザーディレクトリに移動していないとダメだったりするサーバもあります。 cronで実行ファイルを指定するなら、1行目に#!/bin/sh とか書かないとダメだったりもします(さすがにこのあたりはサーバの説明に書かれていると思います)。 >エラーとなってしまいます。 どういうエラーでしょうか?

news_0203
質問者

補足

ご回答ありがとう御座いました。 CronというよりPHPを外部から叩いている状態で、 「http://www.hoge.com/sample/sample.php」に対して、定期的にGETパラメータを送信して頂いている形式となっています。 ブラウザから「http://www.hoge.com/sample/sample.php?id=1」などと送信すると正常に処理が完了するのですが、先方のプログラムからアクセスすると500エラーになってしまうとのことです。 プログラム内の外部を読み込む表記としては、 include_once("../difine.php"); $fp=fopen("log/sample.log","a+"); などがあるのですがこれがいけないのでしょうか? sample.phpのパーミションは「0664」です。 よろしくお願いいたします。

その他の回答 (1)

回答No.1

・パス ・パーミッション など。 何も考えないでcornを利用したいなら手っ取り早いのは wgetを利用する手法が楽。

関連するQ&A

専門家に質問してみよう