ファイル内のパスが問題になる可能性があることを Stackoverflow で読みましたが、最初に読み取ったときに失敗するようです...これ以外は、ここで多くの質問/回答を確認した後でも手がかりがありません。<? ?>
ある時点で、PHP タグの省略形 (" " の代わりに " ")を使用したことが原因だと思いました<?php ?>
。
したがって、基本的に、ブラウザに「http://site.com/file.php」という URL を入力すると、問題なく動作します (これは mysql バックアップ + 電子メールによる送信です)。しかし、cronで同じファイルを実行しようとすると、エラーが発生します...
私のサーバーはMediaTempleにあり、cronは次のとおりです。
php -c /home/xxxxxxx/domains/xxxxxxxxxxxxxx.com/html/777/fnc/filenamexxxxxx.php --'bckup=1'
エラーは次のとおりです。
PHP: 構文エラー、2 行目の /nfs/c08/h02/mnt/xxxxxxx/domains/xxxxxxxxxxxxxxx.com/html/777/fnc/filenamexxxxxx.php の予期しない '('
コードの最初の部分は次のとおりです (ウェブサイトのアドレスと電子メール以外は編集なし):
<?php
// envoi un courriel de tous les rv des 7 prochains jours pour chaque clinique à toutes les 30min (cron script lancé par cpanel)
session_start();
$bypass = 1;
//$_SESSION['rep'] = "777/";
include_once("inc_includes_principaux.php");
//error_reporting(E_ERROR);
// to send an automated backup by email, just link to this file like this with CRON:
if ($_GET['bckup']){
// va chercher les infos de connection
include_once('inc_bd_connexion.php');
// get cliniques
$cliniques = _get_clinique_info();//_p($cliniques);_x();
$date = date('Ymd');
$date7jours = _get_x_days_before($date, 7, '+');//_e($date7jours);_x();
// iterate cliniques and send email
foreach ($cliniques as $cliniqueid => $v) {
$emailthis = _get_rv_printformat($date, $date7jours, $cliniqueid);// start, end, id
// send email to users
_email('emailaddressxxxxxxxx', $emailthis, 'LCJG - Horaire de '.$v['A29'].' du '._date_en_texte($date).' au '._date_en_texte($date7jours),'emailaddressxxxxxxxx');
sleep(1);//give a break to the server and let some other tasks execute
_email('emailaddressxxxxxxxx', $emailthis, 'LCJG - Horaire de '.$v['A29'].' du '._date_en_texte($date).' au '._date_en_texte($date7jours),'emailaddressxxxxxxxx');
unset($emailthis);
echo 'LCJG - Horaire de <b>'.$v['A29'].'</b> pour les 7 prochains jours envoyé par courriel.<br>';
}
}
?>`