yolunu ve cron'u dahil

3 Cevap

Ben bir php script çağıran bir cronjob koşuyorum. Dosya cron tarafından çağrıldığında ben "failed to open stream" olsun. Ben dizine cd ve bu konumdan dosyasını çalıştırdığınızda, tüm iyi. Temelde, ben eklemek istiyorum include_once () dosya php script bulunduğu yerden iki dizinleri kadardır.

Birisi bu cronjob çalışmak nasıl alabilirim bana söyleyebilir misiniz?

3 Cevap

Bunu yapmanın birden fazla yolu vardır: olabilir cd cron komut dizine:

cd /path/to/your/dir && php file.php

Ya doğru gelin PHP current script dosya göreli içerir:

include dirname(__FILE__) . '/../../' . 'includedfile.php';

cron minimal çevre ile başlayan tanınıyor. Ya:

  • script o kendi ortamını kurdunuz;
  • Lütfen komut çağrıları ardından ortamı ayarlar özel bir cron komut dosyası var; veya
  • crontab kendi içindeki ortam kurmak.

(Ben kurma ihtiyacı çok fazla şey yok eğer kullanma eğiliminde ne olduğu) son bir örnek:

0 5 * * * (export PATH = /mydir:$PATH ; myexecutable )

Eğer cron çalıştırmak yolu ne olduğunu görmek gerekir.

 echo pathinfo($_SERVER["PATH_TRANSLATED"]);

Buna uygun olarak dahil görün

include $path_parts['dirname']."/myfile.php";