Alterar versão do php em uso

Por vezes você pode se encontrar tendo que variar a versão do php, exemplo: você tem uma aplicação em php 5 e uma em php 7, e por algum motivo eh inviável a atualização de código da aplicação na versão 5, você vai então precisar fazer isso. É bem simples, aqui no exemplo vou falar da versão 7.0 e 5, fica a critério de vocês dae.

Primeiro  temos que desabilitar a versão que está rodando, ( php -v no terminal e vc irá descobrir qual versão está rodando) desabilite a versão atual com o comando a2dismod e depois habilite a versão que precisa com o comando a2enmod, e quando precisar pode fazer o inverso:

sudo a2dismod php7.0
sudo a2enmod php5
sudo systemctl restart apache2

Bom, é isso, vocês podem conferir num arquivo com código phpinfo() qual versão está sendo usada também. Valeu.

Tem um post bem completo do Samuel Barbosa que fala como instalar mais de uma versão de php no servidor, é um post muito bom e recomendo bastante:  https://sempreupdate.com.br/como-instalar-versoes-diferentes-do-php-5-6-7-0-e-7-1-no-ubuntu/

Anúncios

Problema com upload de .zip e .rar no chrome

Depois de muito pesquisar e tentar encontrei pelo menos uma parte do problema, o content-type. Meu código:

..

switch ($_FILES[‘arquivo’][“type”]) {

case ‘application/x-rar-compressed’:
preg_match(‘/\.(rar){1}$/i’, $_FILES[‘arquivo’][“name”], $ext);
break;

case ‘application/rar’:
preg_match(‘/\.(rar){1}$/i’, $_FILES[‘arquivo’][“name”], $ext);
break;

case ‘application/zip’:
preg_match(‘/\.(zip){1}$/i’, $_FILES[‘arquivo’][“name”], $ext);
break;
}

..

No firefox essas extensões são bem interpretadas, mas no chrome ele le de outra forma, le como

application/octet-stream, segue link que melhor ajudou:

https://code.google.com/p/chromium/issues/detail?id=257554

Dica buscar últimos dados do banco – php e firebird

Galera isso é mais uma dica de um pequeno problema que passei aqui, acostumado a trabalhar com php e mysql estava tendo erros no firebird por causa do LIMIT.

Até que vi que no Firebird não tem o LIMIT. Vou mostrar um exemplo e acredito que vcs irão entender.

Problema exemplo: Mostrar os 10 últimos registros do banco

SQL utilizando em Php + mysql :

"SELECT * FROM TABELA ORDER BY ID DESC LIMIT 10"

SQL utilizando Php + Firebird:

"SELECT first 10 * FROM TABELA ORDER BY ID DESC"

Ao invés do LIMIT x no final vc usa first x no começo. Também pode fazer um :

"SELECT first 10 skip 5 * FROM TABELA ORDER BY ID DESC" (mostrar os 10 últimos pulando os 5 últimos) // foi só para mostrar um pouco mais.

No mais é isso pessoal, espero ter ajudado alguns devs tb. vlw{jcomments on}

erro: Cannot modify header information – headers already sent [Resolvido]

Olá pessoal, hoje vou dizer para vocês como resolver o erro chato chamado de erro: Cannot modify header information – headers already sent .

O que é esse erro: é um erro de redirecionamento, ele acontece quando você usa o código "header" para redirecionar, antes que você pense que o código está errado não ele não está, o header é mesmo utilizado para esta função, o que acontece é que algumas vezes o html não deixa com que o php sobrescreva o código de header do arquivo para qual você está tentando redirecionar. Abaixo algumas soluções para este erro:

Continue lendo “erro: Cannot modify header information – headers already sent [Resolvido]”

Enviando email para qualquer servidor

Objetivo: Criar um script em php capaz de enviar email tanto para servidores windows como linux.

Requisitos: Conhecimento básico de php

Fala galera, beleza? Recentemente passei por um problema de emails com o php, o email ia para servidores windows e não ia para linux, ia para um dominio x mas não ia para o gmail por exemplo. Depois de quebrar um pouco a cabeça e buscar alguma coisa na net cheguei a solução. O problema também ocorre pq cada servidor interpreta de um jeito alguns caracteres. Vou mostrar através do script com vários comentários para não gerar dúvidas.{jcomments on}

Continue lendo “Enviando email para qualquer servidor”

Resource id #5

Resource id # é um resultado das consultas via php e mysql.  mysql_query() ou retorna "false" ou retorna "resource" quando a pesquisa se completa o resource é o resultado da pesquisa. Logo, isso não é um erro e você deve tratar o resource pois você obteve mais de um resultado possível.

Uma forma de tratar o resultado "resource" é colocando o mesmo em um array. Para isso podemos usar a função mysql_fetch_array()

Diferença entre require(), require_once(), include, include_once()

Parecem iguais mas essas 2 funções possuem diferenças sim, e vale a pena saber para sempre usar a mais adequada para o que você estiver fazendo.

include(): Tenta incluir uma página. Caso de algum erro, o script retorna um warning (aviso) e prossegue com a execução do script. Aceita a passagem de variáveis (GET) na string. 

Require(): Tenta incluir uma página. Caso de algum erro, o script retorna um fatal error(erro fatal) e aborta a execução do script. Não aceita a passagem de variáveis (GET) na string. 

include_once() e require_once(): Fazem o mesmo que as 2 funções citadas, porém se o arquivo referenciado já foi incluso na página anteriormente, a função retorna ‘false’ e o arquivo não é incluido. É bom quando temos muitos includes e já estamos perdidos, sem saber o que está incluindo o que.

referência: http://webpub.wordpress.com

Acima ↑