2009-12-22 11 views
5

Ich habe einige Probleme bekommen phpdoc korrekt ausgeführt werden. Die Dokumente werden erfolgreich zum größten Teil erzeugt, aber ich bekomme die folgende Warnung oft:PHPDocumentor Datum Problem Warnungen

Warning: date(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ' America/Los_Angeles ' for 'PST/-8.0/no DST' instead in /Users/ben/bin/PhpDocumentor/phpDocumentor/Converter.inc on line 5064

und

Warning: strftime(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ' America/Los_Angeles ' for 'PST/-8.0/no DST' instead in PhpDocumentor/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php on line 370

Die Smarty Warnung, die ich einfach aus dem Code entfernen könnte, da es nur ein Erzeugen Zeitstempel am oberen Rand der Vorlage im gerenderten Dokument. Kein großes Problem. Der erste Fehler in der phpDocumentor bin ich mir nicht sicher. Es scheint nur zu sein für die Vorlage ein Datum zu Smarty zuweisen:

$templ->assign("date",date("r",time())); 

Vielleicht könnte ich all „date“ Variablen in dem Smarty-Templates und entfernen Sie diese Zeile einfach.

Wie auch immer, diese Warnung befindet sich auch in den generierten Dokumenten und die Indexseite zeigt nur diese Warnung an. Irgendwelche Ideen, was hier passiert? Ich benutze Version 1.4.3 und hier sind meine Flags/Optionen:

#!/usr/bin/env bash 
phpdoc \ 
    --title 'Asra Documentation' \ 
    --directory library/Asra \ 
    --target docs \ 
    --defaultcategoryname Asra \ 
    --defaultpackagename Asra \ 
    --quiet on \ 
    --output HTML:frames:phpedit 

Antwort

7

Dies ist PHP 5.3 bei der Arbeit. PHP 5.3+ verlangt, dass Sie Ihre Zeitzone aus den angegebenen Gründen einstellen (die Systemeinstellungen sind nicht sicher).

Wenn Sie können, rufen Sie einfach date_default_timezone_set() in Ihrer Bootstrap/init/settings-Datei. Sie können auch specify it in an .htaccess file zu machen, ein Nicht-Thema für Ihren Code wie folgt:

php_value date.timezone America/Vancouver 
+1

Ja, das ist der genaue Grund. @Typeoneerror: Es ist ein Problem speziell für PHP 5.3, nicht den PHP-Code, den Sie tatsächlich verwenden. Sie könnten jedes Mal dasselbe Problem haben, wenn der Code PHP-Funktionen aufruft, die die Standardzeitzoneneinstellung verwenden. – kiamlaluno

+0

Ihr Jungs rockt. Ich habe gerade einen Aufruf von date_default .. in der phpdoc Datei hinzugefügt. Fest. – typeoneerror

+2

Das passiert auch mit PHP 5.2, wenn Ihre error_reporting auf E_ALL | gesetzt ist E_STRICT – djn