Bazı gece raporlama yapmak için Zend Framework kullanarak bir komut satırı yardımcı programı yazdı. Bu aynı işlevselliği eşlik sitesi bir ton kullanır. Ben elle çalıştırmak zaman harika çalışıyor, ama ben cron üzerinde çalıştırdığınızda yolu konuları içerir var. Bunun gibi görünüyor kolayca set_include_path ile sabit olmalı, ama belki ben bir şey eksik?
Benim dizin yapısı bu gibi görünüyor:
/var/www/clientname/
application
Globals.php
commandline
commandline_bootstrap.php
public_html
public_bootstrap.php
library
Zend
Public_bootstrap.php ben geçerli dizine göre, bir sorun olmadan set_include_path kullanın:
set_include_path('../library' . PATH_SEPARATOR . get_include_path());
Eğer doğru anlamak, commandline_bootstrap.php ben mutlak yoluna koymak gerekir, bu yüzden her şeyi nerede cron bilir. Dosyam böyle başlar:
error_reporting(E_ALL);
set_include_path('/var/www/clientname/library' . PATH_SEPARATOR . get_include_path());
require_once "../application/Globals.php";
Ben cron üzerinden çalıştırdığınızda, ama ben aşağıdaki hatayı alıyorum:
PHP Fatal error: require_once(): Failed opening required '../application/Globals.php' (include_path='/var/www/clientname/library/') in /var/www/clientname/commandline/zfcli.php on line 11
Ben bunu komut satırını çalıştırın ve phpinfo dökümü zaman görüyorum, çünkü ben, PHP yeni bir yol kabul olduğunu düşünüyorum:
include_path => /var/www/clientname/library/:.:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
Ben burada sözdizimi biraz garip görünüyor kabul ediyorum, ama bunu düzeltmek için nasıl anlamaya olamaz. Herhangi bir öneri büyük takdir.
Thanks summer