PHP不会在php-cli的终端上运行,但在apache服务器上运行

时间:2013-02-04 09:12:09

标签: php bash ubuntu crontab

我写了一个php脚本,旨在从终端的bash脚本运行。我安装了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*/

?>

1 个答案:

答案 0 :(得分:0)

感谢那些评论和帮助的人。终于解决了问题。 我应该指定保存文本文件的确切路径。 $file_save= $num_reg[$i] . ".txt";应该是这样的 $file_save="/path/where/to/save". $num_reg[$i] . ".txt";