2012-03-07 16 views
0

cPanelを使用して私はcronjobを設定したいと思います。 投稿データをインポートするPHPページがあります。 しかし、そのインポートページに到達するには、私はログインページを渡さなければなりません。cronjob実行中のPHPウェブアプリケーション

できますか?

+6

それは行うことができます。 –

+1

どうすればいいですか? – user1254065

答えて

2

GET経由でアクセスされるPHPスクリプトを作成し、2つのPOSTリクエストを実行することができます。

PHP CURLを使用すると、ログインページとインポートページの両方でPOST要求をシミュレートできます。

ステップ

  1. ログインページにCURLとPOSTリクエストを送信します。 CURLにCookieを保存するように指定します(Cookie jar、正確な構文についてはread the manual)。

  2. セッションクッキーがクッキージャー(ファイル)に保存された後、は、最初のPOSTから受け取った認証を使用して、インポートページに別の投稿を送信します。

あなたがここにCURL POSTに関する詳細な情報を見つけることができます:あなたのcronパネルのカール

を使用して

1:http://www.electrictoolbox.com/php-curl-form-post/

+0

"GET経由でアクセスするPHPスクリプト"私は理解していません。説明できますか? – user1254065

+0

2番目の手順でクッキーを読むにはどうしたらいいですか? – user1254065

1

これを行うための2つの簡単な方法があります。次のコマンドを入力します。

curl --silent --compressed curl http://example.com/script.php > /dev/null 2>&1 

/dev/null 2> & 1は、crontabタスクの実行時にメールアラートを無効にします。ただし、アクセスしているスクリプトでログインの確認が必要な場合は、このオプションは機能しません。すべてのサーバーは、このWebアドレスにpingを実行していますが、どの形式でも入力していません。したがって、ログインフォームを使用している場合は、ステップ2を使用するか、スクリプトをクローンしてログイン検証なしで動作させることができます。 PHPスクリプトの内部

へのアクセス

2.それが不要なTCPスタックのセットアップとティアダウンを避けるために、私はこの方法を好みます。しかし、PHP binディレクトリの場所を知る必要があります。あなたが必要とするコマンドは次のとおりです。

/usr/local/bin/php -f /home/(username)/public_html/(scriptname).php 

あなただけ使用することができますいくつかのサーバ:

php -f /home/(username)/public_html/(scriptname).php 
関連する問題