Skip to content

Rodar output(); #157

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wiltonbarros opened this issue Jul 20, 2019 · 25 comments
Closed

Rodar output(); #157

wiltonbarros opened this issue Jul 20, 2019 · 25 comments

Comments

@wiltonbarros
Copy link

@geekcom, como faço para rodar o output(); no console para verificar o erro que está gerando?
Obrigado!

@wiltonbarros
Copy link
Author

Estou rodando em um Centos 7.

@wiltonbarros
Copy link
Author

Boa tarde!
Rodando o exemplo ou relatório que montei (conecta com o banco), gera o print em anexo.
erro jasperphp

@wiltonbarros
Copy link
Author

wiltonbarros commented Jul 21, 2019

Quando eu rodo pelo bash o comando abaixo gera o arquivo.
print vps

Quando tento gerar pelo php gera o código:
/jasperstarter process "/composer/vendor/geekcom/phpjasper/examples/hello_world.jasper" -o "/var/www/html/composer/vendor/geekcom/phpjasper/examples/" -f pdf
Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console. in /var/www/html/composer/vendor/geekcom/phpjasper/src/PHPJasper.php:219 Stack trace: #0 /var/www/html/redirect.php(56): PHPJasper\PHPJasper->execute() #1 {main} thrown in /var/www/html/composer/vendor/geekcom/phpjasper/src/PHPJasper.php on line 219"

@LeafarDev
Copy link

Tive o mesmo problema, era permissão, você precisa dar permissão para usuário do apache(ou derivados) para escrever no diretório do seu projeto. No bash está funcionando pois você está como root.

@wiltonbarros
Copy link
Author

@LeafarDev Boa tarde!
Você deu permissão total para o usuário do apache?

@LeafarDev
Copy link

Eu utilizei o chown para deixar o apache como dono da pasta

@wiltonbarros
Copy link
Author

@LeafarDev Tem um exemplo ai de como você fez?

@LeafarDev
Copy link

sudo chown -R www-data:www-data /diretorio/do/seu/projeto

@wiltonbarros
Copy link
Author

@LeafarDev Executei, restartei o httpd, mas ainda continua aparecendo a mensagem.

@LeafarDev
Copy link

roda ls -l /diretorio/do/seu/projeto e posta aqui

@wiltonbarros
Copy link
Author

wiltonbarros commented Jul 22, 2019

image

@wiltonbarros
Copy link
Author

@LeafarDev Aparentemente está com todas as permissões.

@wiltonbarros
Copy link
Author

Pode ser que meu problema esteja relacionado com a issue#62, vou tentar validar.

@LeafarDev
Copy link

@wiltonbarros ah sim, sem permissão para executar o java ? Se não é problema com java ou de permissão, então não sei hehe

@wiltonbarros
Copy link
Author

@LeafarDev estou pensando em um jeito de dar permissão para o Java, tem ideia de como dar permissão para execução do openjdk em qualquer diretório do sistema?
Já procurei bastante aqui, mas nada conclusivo.

@LeafarDev
Copy link

LeafarDev commented Jul 22, 2019

@wiltonbarros não sei se é melhor prática mas você pode tentar algo como

sudo chmod +x /usr/bin/java

@wiltonbarros
Copy link
Author

@LeafarDev ainda não funcionou, mas estou atrás da questão do java.
Obrigado!

@wiltonbarros
Copy link
Author

Como será que consigo mostrar o erro que está gerando ao invés da mensagem que mostra no navegador?

@LeafarDev
Copy link

LeafarDev commented Jul 23, 2019

Tente rodar o comando do output() como o usuário do apache :

su -s /bin/bash www-data(acho que no seu caso "apache" mesmo)

e depois:

./jasperstarter process ...

@wiltonbarros
Copy link
Author

@LeafarDev exatamente, é permissão mesmo! Só que eu já havia liberado as permissões para o usuário apache.

image

@wiltonbarros
Copy link
Author

@LeafarDev Sabe como resolver isto?

@wiltonbarros
Copy link
Author

Achei o problema, é o SELinux.
Setando setenforce 0 para teste funciona.
Agora preciso verificar como dar permissão para o apache.

@geekcom
Copy link
Member

geekcom commented Jul 23, 2019

@LeafarDev exatamente, é permissão mesmo! Só que eu já havia liberado as permissões para o usuário apache.

image

Cara basta você fornecer permissão para o arquivo executável por exemplo:
sudo chmod 777 ./jasperstarter

@wiltonbarros
Copy link
Author

@LeafarDev , @geekcom obrigado pela ajuda!!
Agora está rodando.

@ghost
Copy link

ghost commented Jul 25, 2019

Show.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants