-1

ターミナルで bash スクリプトから実行するための php スクリプトを作成しました。PHP5 php-cli と php-pear をインストールしました。PHPスクリプトは、ブラウザを使用してApacheサーバーでスムーズに実行されますが、ターミナルから実行すると何もしません. また、すべての読み取りと書き込みの許可で実行できるようにします。その bash スクリプトを 5 分ごとに cron ジョブで実行するようにします。

#!/usr/bin/php5 -q
<?php
    $file="/var/www/floods/php/indx.txt";
    $indx=file_get_contents($file);
    $con = mysql_connect("localhost","user","password");
    if(!$con){die('Could not connect: ' . mysql_error());}
    mysql_select_db("smsgw",$con);

    $acc = mysql_query("SELECT * FROM accounts");
    while($fld = mysql_fetch_array($acc)){
        $index[]=$fld['id'];
        $num_reg[]=$fld['num'];
        $loc[]=$fld['location'];    
    }
    if(isset($index)){

    $inbox = mysql_query("SELECT * FROM inbox");
    while($fields=mysql_fetch_array($inbox)){
        $id[]=$fields['id'];
        $num_inbox[]=$fields['number'];
        $smsdate[]=$fields['smsdate'];
        $text[]=$fields['text'];    
    }

    $last_indx=count($id);
    $last_num=count($index);


    for($i=0;$i<$last_num;$i++){
        for($j=(int)$indx;$j<$last_indx;$j++){
            if(strcmp($num_inbox[$j],$num_reg[$i])==0){
                $file_save= $num_reg[$i] . ".txt";
                file_put_contents($file_save,$text[$j]);
            }
        }

    }

    }/*End*/

?>
4

1 に答える 1

0

コメントして助けてくれた人に感謝します。最後に問題を解決しました。テキスト ファイルを保存する正確なパスを指定する必要がありました。 $file_save= $num_reg[$i] . ".txt";このようにする必要があります $file_save="/path/where/to/save". $num_reg[$i] . ".txt";

于 2013-02-04T09:35:52.050 に答える