Categorias
Atualização configurações hospedagem Internet Linux manutenção procedimentos Programação segurança suporte troubleshooting

mudando para php 7.x no provedor Locaweb

Sempre chega a hora em que é necessário atualizar a versão dos softwares de apoio da sua hospedagem. Neste momento estou tentando passar de php 5.6 para php 7.x no provedor Locaweb.

Em outros provedores, isso é feito simplesmente alterando a configuração de suporte ao PHP para a nova versão no CPanel. Aqui não funcionou.

Primeiro, a alteração no Painel de Controle pede 15 minutos para tornar a nova configuração ativa.

Atenção: Versão de PHP alterada. Ela poderá levar até 15 minutos para processar. Aguarde o tempo necessário e verifique se houve a alteração de acordo com sua solicitação.

Isso é estranho, mas mesmo esperando a página continua mostrando mensagens como:

 

ou

 

Procurando por ajuda, encontrei um post no blog do provedor “Saiba como alterar a sua versão PHP para o PHP 7” de 16 de março de 2016. Encontrei ainda as instruções em “Como alterar a versão do PHP“. Por estas instruções, fica claro que a simples alteração no Painel de Controle da Hospedagem não funciona. Nem mesmo esperando os 15 minutos pedidos.

Atendimento do Suporte por chat, quanto finalmente consegui passar do atendimento do robot, para o atendimento humano, fui colocando em uma fila “Informações às 19:15, Nov 28: Nesse momento, você é o número 16 na fila de atendimento. ” ! Ainda estou na  fila “Informações às 19:53, Nov 28: Nesse momento, você é o número 1 na fila de atendimento. Por favor aguarde a resposta de um dos nossos analistas. Informações às 19:55, Nov 28: Você está agora conversando com lucas.silva.”

Estranho o atendimento pedir

Poderia informar os dados de FTP, host, usuário e senha?

Acho que não gosto disso. De qualquer forma, quando passei estes dados para o atendente, ele providenciou os ajustes de configuração para que a hospedagem voltasse a funcionar.

Porque ele precisa se usuário e senha para ajustar a configuração? Isso compromete as trilhas de auditoria. Senhas alteradas depois do processo para preservar a segurança.

O que foi feito? Quais os ajustes que foram feitos? Porque os processos automatizados no painel de controle não funcionaram? Mesmo as receitas disponíveis não funcionaram. O que foi feito de diferente que agora funcionaram?

Ao que parece eles substituíram o arquivo php.ini da instalação com alterações de configuração no que se refere a locais de biblioteca para o php e referencias de compatibilidade no ambiente.

Recebi por eMail a mensagem

 

Título: Alteração da Versão PHP

Olá, Osvaldo.

Sabia que agora você consegue alterar a versão PHP da sua Hospedagem de Sites sozinho, sem a ajuda do nosso Suporte?

Você encontra essa possibilidade no painel de Hospedagem, clicando em Administrar Site e depois em Informações da Hospedagem no link Configurar versão.

Nosso objetivo é sempre melhorar a sua experiência 🙂
Por isso, se você tiver mais alguma sugestão, não deixe de nos contar clicando aqui.

Um abraço!
Equipe Locaweb

 

Será que eles não percebem que esta automação do processo não está funcionando?

Referências

  1. Migrating from PHP 5.6.x to PHP 7.0.x

 

 

 

Categorias
Conversão manutenção Programação

encapsulando Fortran em Python

“Estamos tendo dificuldades em encontrar pessoal para dar manutenção e evoluir o nosso programa de calculo de estruturas escrito em Fortran” (CRC).

Bom! Devemos considerar que a linguagem continua sendo usada nas áreas de engenharia e processamento cientifico. Encontrar pessoal qualificado e interessado no desenvolvimento e manutenção de acervo Fortran, realmente pode ser um desafio.

Se a “dor” está na inteface (entrada de dados e apresentação dos resultados), uma primeira possibilidade é o interfaceamento com o Python através da biblioteca F2PY que agora é parte do NumPy.  Scripts Python podem preparar arquivos de entrada para o programa Fortran, que chamado automaticamente, processa e grava arquivos de saida, em formato “combinado” com a continuação do script Python para uma apresentação conveniente.

As limitações desta solução pode estar bem próximas:

  • disponibilidade de mão de obra, agora para manter acervo nas linguagens Fortran e Python. Aqui a obsolecencia não foi programada e a diversidade causa problemas.
  • evolução dos ambientes computacionais (sistemas operacionais, hw, compiladores, etc), provocando a obsolecencia da configuração.
  • novos requisitos para a configuração, demandando evolução da implementação.

O artigo Experience converting a large Fortran-77 program to C++, (de Ralf W. Grosse-Kunstleve, Thomas C. Terwilliger, Paul D. Adams Lawrence Berkeley National Laboratory, One Cyclotron Road, BLDG 64R0121, Berkeley, California, 94720-8118, USA.) dá uma idéia do empreendimento no caso extremo de se querer converter codigo Fortan para C++!

Referrencias:

Categorias
Programação

OpenBiblio – +1 Relatório

OpenBiblio - a library system that's free
um sistema de biblioteca que é livre

Vou anotar aqui as minhas observações sobre a criação de um relatório adicional para a nossa instalação do OpenBiblio (http://cedom.net/biblioteca/).

Sentimos a falta do histórico de um exemplar, para saber por onde ele andou, quem o retirou. Estas são as notas sobre o processo de criação de um tal relatório para a nossa biblioteca. O detalhamento destas notas é condicionado ao processo criativo.

Nada se cria, tudo se copia….

Meu modo básico de criar um novo relatório, eu copio um relatório existente (~/reports/defs/*.rpt) com um novo nome. Se possível, escolho um relatório parecido com o que quero criar….

Identificação

Cada relatório deve ter o seu nome, e cada nome somente deve ser usado para um relatório…. assim,

.title HistoricoCirculacao

alterei a primeira linha do meu novo relatório para ter uma palavra chave para o nome do meu relatório. Sim, esta deve ser somente uma palavra chave, que será o nome do relatório, se quiser que ele seja decodificada em sua lingua local, inclua uma linha de decodificação no arquivo ~/locale/pt/reports.php com o formato

$trans["HistoricoCirculacao"]  = "\$text = 'Histórico de Circulação';";

ainda no tema Identificação cabe definir a linha

.category Circulation

para indicar em que bloco de relatórios, este novo item deve entrar.

… encontrei um relatório muito parecido

Encontrei um relatório muito parecido com o que eu precisava em Reports, assim esta saga de escrever relatórios para a nossa biblioteca ficou para uma próxima oportunidade.

… Relatórios.

  • Acompanhamento de Catalogação ganhou uma nova versão agora com a possibilidade de demarcar a data de inicio e data de fim do periodo de analise. Status : Instalado em testes.
  • Titulos – uma lista de titulos, com a contagem de exemplares. Status: Instalado em testes.
  • Leitores – especialmente preparado para crítica do cadastro de leitores com data de atualização, nome e sobrenome, endereço, telefones, grupo, e contagens. Status: A Desenvolver.

Perguntas

  • Comentários – como eu incluo comentários em meu relatório? afinal quero deixar claro o que estou fazendo para quem for ler este programa.

Referências

  • Reports – uma lista de relatórios prontos que podem ser úteis.
  • WritingReports – a documentação sobre o módulo de relatórios do OpenBiblio na sua versão 0.6x.
  • RPTSyntax – a Sintaxe dos arquivos de configuração de relatórios. Pode não ser realmente completo, mas dá uma boa idéia do que pode ser feito e como fazê-lo.
  • OpenBiblio Customization – encontrei aqui bons recursos adicionais para a nossa instalação do OpenBiblio. Relatórios adicionais com contagem foi bem proveitoso.
  • MySQL Outer Join Tips – algumas dicas de outer join do mysql que ajudam na construação de relatorios.
  • Sintaxe Join – em último caso, sempre recorrer ao manual do MySQL.
Categorias
Programação

Expressões Regulares… RegEx

regex
regex

Isso sempre parece mesmo obra do demonio!!! Mas, o fato é que sempre podemos aprender um pouco mais sobre as expressões regulares e conseguir bons resultados com eles.
Referências:

Categorias
Programação

Python 3.2….

Python3.2
Python3.2

Isso pode ser “colocar o carro á frente dos bois”, mas como cai neste problema, vou procurar registrar aqui as minhas notas para futuras referencias.

O Robot de catalogação de livros em nossa biblioteca foi desenvolvido pelo DN para python3, e funciona bem no Python3.1

$ python3.1

Python 3.1.3 (r313:86834, Mar 25 2011, 20:54:26)

[GCC 4.5.2] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

mas, para o Python 3.2 ele não funciona

$ python3.2

Python 3.2 (r32:88445, Mar 25 2011, 19:56:22)

[GCC 4.5.2] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

Dando um erro :

$ python3.2 form20d.pyw

Exception in Tkinter callback

Traceback (most recent call last):

File “/usr/lib/python3.2/tkinter/__init__.py”, line 1402, in __call__

return self.func(*args)

File “form20d.pyw”, line 420, in salvarEdicao

cedom.salvarEdicao(self)

File “/home/omy/cedom/robot/robot20d/cedom.py”, line 424, in salvarEdicao

bibid = re.findall(r’new_form.php\?bibid=(\d+)&reset=’, result)[0]

IndexError: list index out of range

A solução óbvia, continuar usando o Python 3.1, funciona! Mas… “no inferno, abrace o diabo!”
O problema está nas diferenciações do tipo str do tipo byte. Na versão 3.2, as funções da urllib passaram a exigir parametros byte, não aceitando mais o formato str.