2011-09-14 8 views
1
<?php 

class Baddriver{ 
// Constructor - open DB connection 
function __construct() { 
    $this->db = new mysqli("localhost", "root", "password", "dbname"); 
    $this->db->autocommit(FALSE); 
} 
// Destructor - close DB connection 
function __destruct() { 
    $this->db->close(); 
} 

// Main method to redeem a code 
function bad() { 
    if(isset($_POST["plakano"]) || isset($_POST["secim"]) || isset($_POST["sehir"])){ 
    $sehir=$_POST["sehir"]; 
    $plakano=$_POST["plakano"]; 
    $aciklama=$_POST["aciklama"]; 
    $secim=$_POST["secim"]; 
    $plaka = str_replace(",","",$plakano); 

    $stmt = $this->db->prepare("INSERT INTO veri (plakano,aciklama,tarih,sehir,secim) VALUES (?, ?, CURDATE(),?,?)"); 
     $stmt->bind_param("ssss", $plakano,$aciklama,$sehir,$secim); 
     $stmt->execute(); 
     $stmt->close(); 
     $this->db->commit(); 
    } 
} 

} 

$api = new Baddriver; 
$api->bad(); 
?> 

これは私が最初に私がトップ(正直に理由を知りません)でPHPでCronを書くには?

#!/usr/bin/php -q 

を配置する必要がありである2つのことを理解し、私は今、2日間を検索私のPHPファイルであると私はに接続する必要がありますcronのは、仕事をしたり、私が行方不明です何かだろうよりも、私のウェブサーバシェルを開いて

PATH=/usr/local/sbin:/usr/local/bin:/home/user1/bin 
[email protected],[email protected] 
0 2 1-10 * * du -h --max-depth=1/

のようなcronのコードを書くには、それがすべてですか?忠誠心と時間に感謝します。

答えて

2

#!/usr/bin/php -qは、このスクリプトはPHPで実行する必要があることをサーバーに伝えます。

crontabに追加するcronコードは、指定した間隔でスクリプトを実行します。

しかし、それだけではありません。スクリプトは$ _POSTを使用しますが、cronジョブとして実行すると、PHPスクリプトに投稿することはできません。これらの値は利用できません。

+0

私はwebserverに接続してcronコードを使用する必要があるので、あなたの答えとコードの説明のためにまず最初に感謝し、$ _POST変数を削除する必要があります。 –

2

Cronは、スケジュールに従ってコマンドラインツールを実行するためのツールです。したがって、PHPスクリプトは、Webサーバーの機能を必要としない方法で記述する必要があります。すなわち:はsetHeaders、$ _GET、$ _POST、$ _COOKIE

#!/usr/bin/php -qはあなたのスクリプトの実行可能ファイルを作成し、コマンドラインから直接実行する場合は、それはそれを実行する方法を示唆しています。この場合は、/ usr/binにあるオプション "-q"でPHPを使用してください。

-qはスクリプトに「quiet」を実行するように指示し、一部のhttpヘッダーの出力を避けます。

また、crontabエントリの書式設定の詳細については、man 5 crontabを参照してください。

スクリプトの実行可能ファイルと#!あなたのcrontabエントリの最後に/usr/bin/php -q badDriver.phpを使用すると、

53 23 * * 7 www-data /usr/bin/php -q /path/to/script/badDriver.php 

毎週日曜日の午後11時53分にサーバーの時刻にユーザー 'www-data'としてスクリプトを実行しますか。

+0

ありがとうたくさんの男が5チェックcrontab –

関連する問題