鍍金池/ 問答/PHP  Linux/ ubuntu設(shè)置含有SQL插入的php定時任務(wù)失?。?/span>

ubuntu設(shè)置含有SQL插入的php定時任務(wù)失???

ubuntu18.04上設(shè)置定時任務(wù),執(zhí)行PHP文件 ds.php。PHP文件內(nèi)容:

<?php
    file_put_contents(__DIR__.'/ds.txt',date('Y-m-d H:i:s'));
    $mysqli = new mysqli('127.0.0.1','root','123456','mydb');

    if($mysqli->connect_errno){
        die('數(shù)據(jù)庫連接錯誤('.$mysqli->connect_errno.')'.$mysqli->connect_error);
    }
    
    $sql = "insert into uinfo(uname,age,sex,phone,email,addr,create_date) values('張三',25,1,'13195437098','zhangsan@qq.com','浙江省舟山市普陀區(qū)','".date('Y-m-d H:i:s')."')";

    $mysqli->query($sql);

這段代碼我直接使用 php /var/www/ds.php可以正確執(zhí)行。
定時任務(wù)代碼:

*/1 * * * * php /var/www/ds.php

但是只會執(zhí)行file_put_contents 這一行代碼,會往文件中寫入內(nèi)容。但是后邊的執(zhí)行SQL插入數(shù)據(jù)的代碼就會不執(zhí)行。然后日志文件顯示:

clipboard.png

我安裝了postfix之后,不報這個錯誤了,但是依然是不執(zhí)行SQL插入操作。請問是我哪兒寫錯了嗎?還是配置錯了?

回答
編輯回答
萌二代

我這里出現(xiàn)了一個錯誤就是,在使用 php 執(zhí)行這個定時文件的過程中,會報錯。使用curl就沒問題了。即在安裝postfix的情況下,修改定時文件的內(nèi)容為
*/1 * * * * curl http://localhost/ds.php
即可

2017年11月17日 09:05