Estou usando o Gnuteca 3.2.3 no Centos 5.6 e estou com problemas ao tentar inicializar o gcron.php.
Embora não seja imprescindível para o funcionamento do Gnuteca, sem ele a atualização da busca não é feita, tão pouco as tarefas cadastradas como aviso de atraso, de devolução, etc...
Cabe uma observação : não sou programador e meu conhecimento em php é adquirido empiricamente ;)
Bem... conforme o manual de instalação, incluí no arquivo /etc/rc.local a linha:
php [diretorio_do_miolo]/modules/gnuteca3/misc/scripts/gcron.php &
Ao consultar as dependências o gcron não estava sendo executado.
Tentei executá-lo manualmente com usuário administrador:
# php [diretorio_do_miolo]/modules/gnuteca3/misc/scripts/gcron.php
O resultado era mensagens de aviso um PHP Fatal error:
PHP Notice: Undefined index: HTTP_HOST in [diretorio_do_miolo]/classes/mioloconsole.class.php on line 28
PHP Notice: Undefined index: QUERY_STRING in [diretorio_do_miolo]/classes/mioloconsole.class.php on line 30
PHP Notice: Undefined index: PATH_INFO in [diretorio_do_miolo]/classes/services/mcontext.class.php on line 39
PHP Notice: Undefined index: HTTPS in [diretorio_do_miolo]/classes/services/mcontext.class.php on line 41
PHP Notice: Undefined index: port in [diretorio_do_miolo]/classes/services/mcontext.class.php on line 76
PHP Notice: Undefined index: item in [diretorio_do_miolo]/classes/services/mcontext.class.php on line 104
PHP Notice: Undefined index: _startup in [diretorio_do_miolo]/classes/services/mcontext.class.php on line 105
PHP Fatal error: Class 'EMioloException' not found in [diretorio_do_miolo]/classes/persistence/persistentexception.class.php on line 4
Consultei a linha 4 do arquivo indicado e este chamava a class EMioloException que estende a classe nativa Exception do PHP.
A classe nativa Exception é carregada no miolo pelo arquivo mexception.class.php e reparei que este arquivo iniciava com <? e não com <?php como é o correto para a linguagem php. Alterei e 2 erros apareceram e os arquivos tinham o mesmo problema. Corrigi os códigos e o gcron.php agora funciona manualmente :D !
Os arquivos com "problemas" são:
[diretorio_do_miolo]/classes/flow/mexception.class.php
[diretorio_do_miolo]/classes/ui/controls/mcontainer.class.php
[diretorio_do_miolo]/classes/ui/controls/gridcontrols.class.php
Não duvido que os problemas com a instalação que o pessoal anda reportando, onde só aparece somente a tela em branco, tenha relação com este "bug".
Baixei as versões disponíveis do Gnuteca para download e todos estão assim!
O próximo passo e fazer funcionar no rc.local.
Autor: Cristiano Antunes