Dr_Lion Posted April 14, 2015 at 01:52 PM Report Share #581214 Posted April 14, 2015 at 01:52 PM (edited) Máquinas virtuais ubnutu server 14.04; Instaladas com lamp etc etc... QUestão prática, tenho uma máquina a correr um script python, esse python chama uma página php na consola das máquinas remotas (máquinas virtuais ubuntu server). A forma como o python chama a página php é usando o subprocess.Popen com o stdout e stderr=devnull, pois não o quero pendurado... O comando invocado é "ssh maquina php /var/www/pagina.php argumentos.." a minha questão não é com este processo pois isto já está testado e funciona, é apenas para contextualizar. Até aqui tudo certo! Em relação ao meu problema: na página php tenho entre outro código, algo como <?php (...) $fitlog = fopen("/home/userx/fichlo2", "a"); fwrite($fitlog, "yada yada yada \n"); fclose($fitlog); (...) ?> o código para abrir e escrever o ficheiro não funciona, a página faz tudo o que é suposto menos isto (escrever o ficheiro)! O ficheiro não existe aquando da execução do php, e no final continua a não existir!!!! Já agora como posso fazer um log dos erros que isto me estará a gerar? Visto que não vou leio o stderr, existe alguma forma de obter o erro? nunca fui muito á bola com o sistema de log do php. Será que um try catch aqui me resolve o problema ou não serve, visto eu não conseguir ver a página por ser executada automaticamente? Desde já agradeço a ajuda. Edited April 14, 2015 at 06:40 PM by apocsantos geshi Link to comment Share on other sites More sharing options...
ruicosta.web Posted April 14, 2015 at 02:23 PM Report Share #581217 Posted April 14, 2015 at 02:23 PM Para o Log, cria um htaccess com este conteudo: <Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files> <Files ~ "^.*\.(LOG|log|bak|bk|LCK)"> Order allow,deny Deny from all Satisfy All </Files> # enable PHP error logging php_flag log_errors on php_value error_log PHP_errors.log # supress php errors php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0 Irá criar um PHP_errors.log na pasta do ficheiro que originar o erro. Troca $fitlog = fopen("/home/userx/fichlo2", "a"); por $fitlog = fopen("/home/userx/fichlo2", "w"); Verifica as permissões da pasta. Link to comment Share on other sites More sharing options...
Dr_Lion Posted April 14, 2015 at 05:53 PM Author Report Share #581238 Posted April 14, 2015 at 05:53 PM Boas, já descobri a minha falha... um gajo olha tantas vezes para o código que já nem lê e imagina coisas... Já está tudo a trabalhar bem, a questão era muito simples, não estava a chamar as máquinas virtuais no python, mas uma máquina de testes que estava estática no início, já está resolvido. De qualquer forma vou experimentar isso para logar erros que possam surgir no php. Desde já agradeço a pronta resposta. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now