set 032019
 

PHP 7 foi lançado dezembro passado. Após testar o código localmente, é hora de atualizar o servidor de produção. Geralmente, a maioria dos sites funcionam bem nele.

Contudo, suspeitamos que não muitos sites atualizaram. É mais seguro e fácil continuar em versões anteriores. Na verdade, uma pesquisa de sites WordPress mostrou que alguns tem:

“Até Novembro de 2016, 53.9% dos sites WordPress rodam versões PHP menores que 5.5 Apenas, 3.4% dos sites rodam PHP 7, a versão atual do PHP.” via PHP Compatibility Checker.

Mas PHP 7 já está aí há quase um ano.

Nesse episódio, mostraremos uma abordagem para atualizar para PHP 7 no Ubuntu 14.x e resolver problemas com PHPMyAdmin, que muitos vanguardistas enfrentaram.

Por hora, se usamos WordPress, devemos instalar o plugin PHP Compatibility Checker para garantir que não encontraremos problemas inesperados com nossos Plugins.

Sempre gostamos de suas ideias e comentários. Se tiverem perguntas ou sugestões de tópicos, por favor, publique seus pensamentos na seção de comentários.

Continue reading »

INSTALANDO APACHE, MARIADB E PHP COM HTTPS NO ARCH LINUX

 Apache2, CentOS 7 / RHEL 7, Clusterweb, ClusterWeb, Debian, Linux  Comentários desativados em INSTALANDO APACHE, MARIADB E PHP COM HTTPS NO ARCH LINUX
jul 262018
 

APACHE

 

Ambiente:

  • Sistema: Linux arch 4.17.3-1-ARCH
  • Domínio: dominio.com.br
  • Ip: 192.168.0.1

1. Update do sistema:

# pacman -Syu

2. Instalando Apache:

# pacman -S apache

Habilitando e iniciando servidor Apache:

# systemctl enable httpd
# systemctl restart httpd

Continue reading »

Migrando do PHP 4 para o PHP 5

 Clusterweb  Comentários desativados em Migrando do PHP 4 para o PHP 5
ago 212012
 

Essa sessão de faq ajudará a você migrar do PHP 4 para o PHP 5.

Migrando do PHP 4 para o PHP 5
Apesar do PHP 5 oferecer muitas vantagens novas, ele foi feito para ser o mais compatível possível com as versões anteriores com poucas funcionalidades sendo perdidas no processo.

Leia o apêndice de migração para o PHP 5 deste manual pois ele contêm ainda mais informações no tópico de migração para o PHP 5.

O MySQL funciona no PHP 5? Ele parece ter desaperecido.
MySQL é suportado com apenas a modificação de não ser mais habilitado por default in PHP 5. Isso essencialmente significa que o PHP não inclui a opção –with-mysql na linha configure então você deve fazer isso manualmente quando compilando o PHP. Usuários do Windows editarão php.ini e habilitarão a DLL php_mysql.dll já que no PHP 4 essa DLL não existia, era simplesmente montada no seus binários do PHP para o Windows.

Além disso, as bibliotecas de cliente do MySQL não são mais bundled com o PHP. Mais detalhes nesse tópico são abrangidas no seguinte FAQ e leia também a seção MySQL para detalhes sobre instalação do MySQL. Um exemplo de linha de configure seria –with-mysql=/usr enquanto usuários do Windows precisarão do arquivo libmySQL.dll disponível no sistema.

Eu ouvi que o PHP 5 tem um modelo de POO inteiramente novo, o meu código em POO já existente funcionará? Onde eu acho informação sobre essas novas caracterísicas de POO?
A principal mudança no PHP 5 é o modelo de POO já que o PHP 5 agora usa o Zend Engine 2.0. A diretiva zend.ze1_compatibility_mode permite compatibilidade com o Zend Engine 1.0 (PHP 4).

O novo modelo de POO está documentado nas seções OOP language reference e OOP migration appendix.

Então, além do novo modelo de POO, o que mais foi alterado no PHP 5? Além disso, existe numa versão específica do manual do PHP para a versão 5?
Algumas poucos modificações exitem, veja o apêndice 5 de migração para detalhes. Não haverá uma versão específica do manual do PHP para a versão 5 já que o cerne do PHP ainda é o mesmo.

Solucionando problemas com o charset

 Linux  Comentários desativados em Solucionando problemas com o charset
abr 232012
 

Um problema muito comum ao utilizar o Apache 2 sobre uma distribuição Linux recente é os caracteres acentuados das páginas hospedadas aparecerem trocados por interrogações, quadrados ou vírgulas em alguns navegadores, como nesse screenshot:

Isso acontece em situações onde os arquivos das páginas hospedadas no servidor foram salvos usando o charset ISO-8859-1 (ou outro dos charsets pré-unicode) e o servidor Apache está configurado para usar UTF-8, que é o default no Ubuntu e na maioria das distribuições atuais.

Para solucionar o impasse, você tem basicamente três opções. A primeira é especificar o charset correto no header de cada página do site, o que é feito adicionando uma tag “meta” dentro da seção “head” da página, como em:

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
ou:
<meta http-equiv=”Content-Type” content=”text/html; charset=ISO-8859-1″ />

Algumas versões antigas do Internet Explorer entendem apenas a tag “http-equiv…”. Você pode adicioná-la também, de forma a manter compatibilidade com elas, como em:

<http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

Continuando, a segunda opção é mudar a configuração do Apache para que ele passe a utilizar o ISO-8859-1 como charset padrão, em vez do UTF-8. Nas distribuições derivadas do Debian, isso é definido no arquivo “/etc/apache2/conf.d/charset“. Edite o arquivo, substituindo a linha:

AddDefaultCharset UTF-8

por:

AddDefaultCharset ISO-8859-1

Se, por acaso, o arquivo “/etc/apache2/conf.d/charset” não estiver disponível (ou a configuração não surtir efeito), edite o arquivo “/etc/apache2/apache2.conf“, descomentando (ou adicionando) a mesma linha.

No Fedora/CentOS a opção é incluída diretamente no arquivo “/etc/httpd/conf/httpd.conf” (perto do final do arquivo), basta substituir a linha “AddDefaultCharset UTF-8” por “AddDefaultCharset ISO-8859-1”, assim como no Debian.

Se o servidor hospeda páginas escritas em português, é recomendável editar também a linha:

LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw

… no “/etc/apache2/apache2.conf”, mudando a ordem das linguagens, de forma que o pt-br e o pt fiquem no início:

LanguagePriority pt-br pt en da nl et fr de el it ja ko no pl ltz ca es sv tw

Para que a configuração entre em vigor, é preciso fazer com que o Apache 2 recarregue a configuração:

# /etc/init.d/apache2 reload

ou:
# service httpd reload

O charset padrão do servidor é aplicado a todas as páginas onde o charset não é diretamente especificado na seção <head>, ajudando em casos em que você tem um grande volume de páginas antigas, onde o charset não é especificado.

Uma terceira opção, mais radical, seria mudar o charset de todas as páginas hospedadas (se você usa um gestor de conteúdo, muitas vezes esta opção estará disponível nas configurações) de “ISO-8859-1” para “UTF-8”. Diversos editores de texto, incluindo o kwrite e o gedit, permitem trocar o charset usado, basta especificar qual quer usar nas configurações.

É possível também converter os arquivos diretamente, usando o comando “recode“, que está disponível nos repositórios de praticamente todas as distribuições que adotaram o uso do UTF8. Comece instalando o pacote, como em:

# apt-get install recode

ou:
# yum install recode

Para converter um arquivo, use o comando “recode -d ISO-8859-1..UTF-8” seguido pelo arquivo a ser convertido, como em:

$ recode -d ISO-8859-1..UTF-8 arquivo.txt

Você pode também converter de uma vez diversos arquivos, como em:

$ recode -d ISO-8859-1..UTF-8 *.html

ou:
$ recode -d ISO-8859-1..UTF-8 *.php

O recode não salva cópias dos arquivos originais, por isso é importante que você sempre execute o comando sobre uma cópia dos arquivos, substituindo os arquivos originais só depois de verificar e testar. Concluindo, é possível também fazer o caminho inverso, convertendo arquivos de UTF-8 para ISO-8859-1, invertendo a sintaxe do comando, como em:

$ recode -d UTF-8..ISO-8859-1 *.html

A principal observação nesse caso é que o recode só consegue converter caracteres UTF-8 que possuem um correspondente dentro da codificação ISO-8859-1, por isso não deve ser usado em textos que incluam caracteres de línguas asiáticas, por exemplo.