Benim CronJobs sorunu nedir?

2 Cevap php

Ben ne oluyor hiçbir fikrim yok. Ama bu gibi görünen bir komut dosyası var. Cron işi çalıştırmak için reddediyor:

include_once 'class_lib/mime_mail/mimeDecode.php';
include_once 'class_lib/Mail/IMAPv2.php';
include_once 'inc-functions.php';
include_once "$_SERVER[DOCUMENT_ROOT]/class_lib/DbFuctioneer.php";

$dbFuctioneer = new DbFuctioneer();

Ben çıkardığınızda her şey iyi çalışıyor:

$dbFuctioneer = new DbFuctioneer();

DbFuctioneer () bu gibi görünüyor olsa bile:

<?php

class DbFuctioneer { 
    function dbCountMatches( $count) {
        return $count;
    }
}

Cron onun İşler sınıfları ile ilgili bir sorun var mı?

Zaman ayırdığınız için teşekkür ederiz.

Kind regards,
Marius


Görünüyor

$_SERVER['DOCUMENT_ROOT']

cron işini çalışırken boş.

Neden ki?

2 Cevap

Eğer komut satırından komut aradığınızda $_SERVER["DOCUMENT_ROOT"] mevcut bulunmaktadır.

(REQUEST_URI, SCRIPT_NAME, HTTP_HOST gibi diğerleri ile birlikte ....) Bu değişken durumda da çalışan değil Apache tarafından ayarlanır.

Elle kök dizini ayarlamanız gerekir.

, Bir web sitesinin bağlamında veya komut satırından çalışan olup olmadığını öğrenmek kullanmak için php_sapi_name().

Komut satırında çalıştırırken $_SERVER["DOCUMENT_ROOT"] elle ayarlayabilirsiniz, ama ben daha ziyade içine yolunu koymak için tamamen yeni bir sabit ya da değişken kullanmak istiyorsunuz.

Aşağıdaki (komut satırından komut dosyasını çalıştırın) ve çıkışını kontrol etmeyin doğrudur:

print("$_SERVER[DOCUMENT_ROOT]/class_lib/DbFuctioneer.php");

Büyük olasılıkla onun kırık.