2009-12-22 6 views
5

Tengo algunos problemas para ejecutar phpdoc correctamente. Los documentos están siendo generados en su mayor parte con éxito, pero me da la siguiente advertencia muchas veces:Avisos de problema de fecha de PHPDocumentor

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

y

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

La advertencia Smarty que fácilmente podría eliminar del código ya que es sólo la generación de una marca de tiempo en la parte superior de la plantilla en el documento renderizado. No es gran cosa. El primer error en phpDocumentor del que no estoy seguro. Parece ser sólo la asignación de una fecha a Smarty para la plantilla:

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

tal vez podría simplemente eliminar todas las variables "fecha" en las plantillas Smarty y esta línea.

De todos modos, esta advertencia se encuentra también en los documentos generados y la página de índice solo muestra esta advertencia. ¿Alguna idea de lo que está pasando aquí? Estoy usando la versión 1.4.3 y aquí están mis banderas/opciones:

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

Respuesta

7

Esto es PHP 5.3 en el trabajo. PHP 5.3+ exige que configure su zona horaria, por las razones indicadas (depender de la configuración del sistema no es seguro).

Si puede, simplemente llame al date_default_timezone_set() en su archivo bootstrap/init/settings. También puede specify it in an .htaccess file para que no sea un problema para su código, como este:

php_value date.timezone America/Vancouver 
+1

Sí, esta es la razón exacta. @Typeoneerror: es un problema específico de PHP 5.3, no el código PHP que está usando en realidad. Podría tener el mismo problema cada vez que el código llame a funciones de PHP que usan la configuración de zona horaria predeterminada. – kiamlaluno

+0

Ustedes rockeros. Acabo de agregar una llamada a date_default .. en el archivo phpdoc. Fijo. – typeoneerror

+2

Esto también ocurre con PHP 5.2, si su error_reporting está establecido en E_ALL | E_STRICT – djn

Cuestiones relacionadas