Categorias
Linux PHP Ubuntu

Instalar oci8 php7.4-fpm (Ubuntu)

mkdir /opt/oracle

cd /opt/oracle

ver outras versões
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/

wget https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basic-18.3.0.0.0-3.x86_64.rpm
wget https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-3.x86_64.rpm

alien -i oracle-instantclient18.3-basic-18.3.0.0.0-3.x86_64.rpm
alien -i oracle-instantclient18.3-devel-18.3.0.0.0-3.x86_64.rpm

sudo apt-add-repository ppa:ondrej/php
sudo apt-get update

sudo apt-get install php7.4-cli php7.4-fpm php7.4-curl php7.4-gd php7.4-mysql php7.4-mbstring php7.4-xml zip unzip

–Caso precise alterar a versão do PHP
sudo update-alternatives --config php

sudo apt-get install php-dev php-pear build-essential libaio1

pecl install oci8

instantclient,/usr/lib/oracle/18.3/client64/lib

echo "extension = oci8.so" >> /etc/php/7.4/fpm/php.ini
echo "extension = oci8.so" >> /etc/php/7.4/cli/php.ini

sudo systemctl restart php7.4-fpm

php -m | grep 'oci8'
caso retorne oci8, a configuração esta correta e pronto para usar

Categorias
PHP wordpress

remover atualizações em um plugin

As vezes fazemos algumas modificações em um plugin e não queremos que ninguem atualize para não perder as suas modificações, então oque fazer, basta apenas ir no plugin que deseja e colocar o código abaixo

add_filter('site_transient_update_plugins', 'remove_notificacao');
function remove_notificacao($value) {
unset($value->response[ plugin_basename(__FILE__) ]);
return $value;
}

God bless

Categorias
Blog Mysql PHP Zend Framework 2

Warning: class_implements(): Class Doctrine\DBAL\Driver\PDOMysql\Driver does not exist and could not be loaded

Esse erro é devido ao chamar o driverClass do doctrine colocar o PDOMysql basta colocar o “PDOMySql” com o S maiúsculo.

Categorias
Banco de Dados Blog PostgreSQL

[archiver] input file appears to be a text format dump. Please use psql.

Se esse erro aparecer, significa que seu arquivo não está no formato correto para o restore
use
Backup

pg_dump -Fc -U postgres meubanco > meubancobackup.dump

Restore

pg_restore -U postgres -d meubanco meubancobackup.dump

 

Categorias
Blog Linux PHP Ubuntu

Multiplas versões PHP Ubuntu – PHPFarm

Tenho um ambiente de desenvolvimento para mostrar aos clientes, como está o processo de desenvolvimento de seus projetos, e as vezes pego alguns projetos para dar manutenção que o PHP é antigo 5.4 ás vezes é 5.5.6 outros com o ZF2 com PHP mais novo, oque fazer com esse problema, pois bem o PHPFarm é a solução para esse impasse
Instalando o Lamp Server ( Caso não tenha instalado )

sudo apt-get update && sudo apt-get upgrade $$ sudo apt-get install lamp-server^

No caso se você já instalou o php5 como módulo do Apache você pode desativar ele primeiro (Opcional)

a2dismod php5

Dependências necessárias

sudo apt-get install build-essential git apache2-mpm-worker libapache2-mod-fastcgi php5-fpm vim

Dependencias PHP

sudo apt-get build-dep php5

Clone GIT PHPFarm

 sudo git clone https://github.com/cweiske/phpfarm.git /opt/phpfarm

/opt/ não é opcional é obrigatório
Vá até o local dp SRC PHPFarm

   cd /opt/phpfarm/src

em options.sh você pode ver oque vai ser configurado de começo mas é algo bem simples, então vamos criar um arquivo custom-options.sh que será o arquivo que vai compilar junto ao options.sh
crie o arquivo custom-options.sh

sudo vim custom-options.sh

Abaixo está o conteúdo de custom-options.sh

configoptions="
--enable-cli \
--enable-debug \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-mbstring \
--enable-pcntl \
--enable-soap \
--enable-sockets \
--enable-sqlite-utf8 \
--enable-wddx \
--enable-zip \
--enable-readline \
--enable-posix \
--with-readline \
--with-posix
--with-apache2 \
--with-openssl \
--with-zlib \
--with-gettext \
--with-pear \
--with-curl \
--with-gd \
--with-mcrypt \
--with-pdo-mysql \
--enable-mbstring \
--with-mysqli \
--with-mysql -with-libdir=/lib/i386-linux-gnu \
"

obs: você pode criar para cada versão do php usando por exemplo custom-options-5.5.6.sh ou custom-options-5.6.2.sh assim por diante, como eu vou usar a mesma config para todos deixo no custom-options.sh que serve para todos que forem instalados
de permissão ao custom-options.sh

chmod +x custom-options.sh

Compilando as versões de PHP
Você pode compilar qualquer versão do PHP, basta ver a lista nesse link http://museum.php.net
tendo em vista que queira o php 5.5.6 e o 5.6.2

   sudo ./compile.sh 5.5.6
   sudo ./compile.sh 5.6.2

e assim por diante qual versão quiser e só verificar no museum e mandar a versão.
Agora vamos habilitar o Fast-CGI

   sudo a2enmod actions fastcgi alias

Reinicie o apache

   sudo service apache2 restart

Agora vamos configurar o FastCgiServer
criando um arquivo no conf.d para iniciar junto ao apache

   sudo vim /etc/apache2/conf.d/php-cgisetup.conf

vai abrir uma tela preta no terminal, aperte I para poder inserir e coloque o código abaixo

   #php-cgi setup
   #utilizado para multiplas versoes do PHP
   FastCgiServer /var/www/cgi-bin/php-cgi-5.5.6
   FastCgiServer /var/www/cgi-bin/php-cgi-5.6.2
   ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/

Pode colocar quantos FastCgiServer quiser só basta colocar a versão certa, caso fique aparecendo erro 500 pode ser que você colocou alguma versão errada por exemplo um 5.5.0 invez de 5.5.6 só atentar aos detalhes
agora vamos criar o cgi-bin

   sudo mkdir /var/www/cgi-bin

Criando o arquivo binário php-cgi-5.5.6

   #!/bin/sh
   PHP_FCGI_CHILDREN=3
   export PHP_FCGI_CHILDREN
   PHP_FCGI_MAX_REQUESTS=5000
   export PHP_FCGI_MAX_REQUESTS
   exec /opt/phpfarm/inst/bin/php-cgi-5.5.6

Criando o arquivo binário php-cgi-5.6.2

   #!/bin/sh
   PHP_FCGI_CHILDREN=3
   export PHP_FCGI_CHILDREN
   PHP_FCGI_MAX_REQUESTS=5000
   export PHP_FCGI_MAX_REQUESTS
   exec /opt/phpfarm/inst/bin/php-cgi-5.6.2

Trocando dono do da pasta cgi-bin

  sudo chown -R www-data:www-data /var/www/cgi-bin

Permissão no cgi-bin

  sudo chmod -R 0744 /var/www/cgi-bin

agora vamos criar um arquivo virtualhost vá em

  cd /etc/apache2/sites-available

Crie um arquivo

  sudo vim php-dev

aperte o i para inserir o conteúdo e coloque o conteúdo abaixo !

<VirtualHost *:80>
ServerName meudev.com
DocumentRoot /var/www
 <Directory /var/www>
   Options FollowSymLinks
   AddHandler php-cgi .php
   AllowOverride All
   Action php-cgi /cgi-bin-php/php-cgi-5.5.6
 </Directory>
#colocando em um diretório especifico a versão do php
 <Directory /var/www/meu-projeto>
   Options FollowSymLinks
   AddHandler php-cgi .php
   AllowOverride All
   Action php-cgi /cgi-bin-php/php-cgi-5.6.2
 </Directory>
 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Caso esteja fazendo na sua maquina pode criar apartir de sites separados (opcional, caso seja em sua maquina não em um cloud)

<VirtualHost *:80>
ServerName teste556.com
DocumentRoot /var/www
 <Directory />
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.4.0
 </Directory>
 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 </VirtualHost>
 <VirtualHost *:80>
 ServerName teste562.com
 DocumentRoot /var/www
 <Directory />
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.5.0
 </Directory>
 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 </VirtualHost>

Agora vamos desativar o virtual host default (padrão)

sudo a2dissite default

agora vamos ativar o qual criamos php-dev

  sudo a2ensite php-dev

de um reload no apache

  sudo service apache2 reload

agora vamos ver se está tudo ok crie um arquivo info.php

  sudo vim /var/www/info.php

e cole

<?php phpinfo(); ?>

veja seu ip (e pegue o inet addr:IP)  

    ifconfig
    vim /etc/hosts

coloque o ip com o dominio (opcional, caso seja em sua maquina não em um cloud)

    192.168.1.10 teste556.com
    192.168.1.10 teste562.com

agora veja se está tudo ok teste556.com/info.php e teste562.com/info.php
Adicionar mais modulos no PHPfarm
vamos localizar seu php.ini do php 5.5.6

/opt/phpfarm/inst/bin/php-5.5.6 --ini

vai aparecer a seguinte mensagem

Configuration File (php.ini) Path: /opt/phpfarm/inst/php-5.5.6/lib
Loaded Configuration File:         /opt/phpfarm/inst/php-5.5.6/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

se precisar de qualquer config já sabe onde está o php.ini neste caso /opt/phpfarm/inst/php-5.5.6/lib/php.ini
caso você precise de um novo modulo no php exemplo xdebug

cd /opt/phpfarm/
pear download pecl/xdebug

no meu caso foi o xdebug-2.3.3

tar -cvf xdebug-2.3.3.tar

Acesse o arquivo descompactado

cd xdebug-2.3.3

verificando se está tudo ok na versão que vai instalar o modulo

/opt/phpfarm/inst/bin/phpize-5.5.6

Compilando

./configure --with-php-config=/opt/phpfarm/inst/bin/php-config-5.5.6

 

make && make install

Se tudo ocorrer certo basta da um reload

/etc/init.d/apache2 reload

Pronto =)
Espero ter ajudado, eu achei fantástico essa ferramenta, para quem faz freelance é uma mão na roda no começo é meio chato de instalar mais vale a pena !
Fontes
http://www.fabiomingorance.com.br/instalando-multiplas-versoes-php-no-ubuntu-14/
https://cweiske.de/tagebuch/phpfarm-install-extensions.htm

Categorias
Apache

Aumentar sessão SSH

Isso é importante para quando tem um servidor de teste, e precisa ficar acessando ou as vezes está lendo um artigo ou outra coisa quando chega perdeu sessão, então vai ai a dica

sudo vim /etc/ssh/ssh_config

 

Adicione ao final

ServerAliveInterval 120

 

e de um restar no ssh

/etc/init.d/sshd restart

 

Categorias
Banco de Dados Blog PostgreSQL

Fazendo RANK com PostgreSQL

Uma função muito bacana do PostgreSQL é o ROW_NUMBER e o proprio RANK, é muito fácil de se implementar
um exemplo uma tabela com votação !
considerando a tabela como votos e a coluna como voto segue abaixo como usar
Usando RANK()

select
  rank() over (order by voto asc)  as rankVotos
from
  votos;
order by rankVotos

Usando ROW_NUMBER()
Usando RANK()

select
  row_number() over (order by voto asc)  as rankVotos
from
  votos;
order by rankVotos

Link de um artigo completo: clique aqui

Categorias
Javascript jQuery Plugins

Plugin FadeIn fadeOut img

Um plugin que elaborei, para ver a ideia clique aqui
plugin_fadeinout_img
Plugin foi elaborado para ter mais de uma imagem fazendo o efeito fadeIn FadeOut demo: http://kevinfelipe.com.br/exemplos/fadeinout
Chamadas

    
    

Codigo jQuery

jQuery(".fadeinout").FadeInOut({
    //Tempo para executação em milésimos de segundo nesse ex: são 3 segundos
    time: '3000',
    //isso é a porcentagem divida em aparecer e sumir ex: 10 é 10% para aparecer e 10% para sumir então terá 20%
    timefadeinout: '10',
    //Por qual imagem irá iniciar
    initImg: '1',
    //Imagem que irão participar
    images: ['img_head_1','img_head_2','img_head_3']
});

time
Tempo para executação em milésimos de segundo
timefadeinout
isso é a porcentagem divida em fadeIn e FadeOut ex: 10 é 10% para fadeIn e 10% para fadeOut então terá 20%, o maximo é de 50%
initImg
Por qual imagem irá iniciar
initImg
Imagem que irão participar
images
Imagem que irão participar
faz um git clone lá Link: https://github.com/kevinfelipe/plugin_fadeinout_img

Categorias
Apache Blog

fonte não aparece no meu site

E aiii !!!
primeiro verifique no console do seu navegador caso esteja usando Chrome F12, ou use o firebug no Mozilla uma extensão indo em console veja se aparece uma mensagem de erro parecida com essa “Pedido entre origens bloqueado: a política de mesma origem proíbe a leitura de recursos remotos em http://suaurl.com.br/fonte.woff. Isto pode ser corrigido movendo-se o recurso para o mesmo domínio ou ativando o CORS”
caro amigo seu apache está bloqueando o uso de fontes otf ou woff para resolver só seguir os passos a baixo.
No apache no httpd.conf ou apache2.conf se for Ubunto insira as seguintes linhas de comando

AddType application/font-woff woff
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttc ttf
AddType font/opentype otf
AddType image/svg+xml svg svgz
AddEncoding gzip svgz

  
    Header set Access-Control-Allow-Origin "*"
  

sempre após alguma mudança para surgir efeito no apache temos que reiniciar

/ete/init.d/httpd restart

God Bless

Categorias
Apache Blog Fedora Linux

suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) – erro no httpd – FAILED – mod-ssl

Aconteceu em um servidor que cuido, instalei o mod_ssl com os certificados e do nada ele falhou, vi os log

cat /var/log/httpd/error_log
[Sun Jan 11 04:03:55 2015] [notice] Digest: generating secret for digest authentication ...
[Sun Jan 11 04:03:55 2015] [notice] Digest: done
[Mon Jan 12 08:31:14 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

para resolver foi simples basta fazer os passos abaixo

em /etc/httpd/conf.d/nss.conf

adiciona essa linha:

NSSEnforceValidCerts off

God Bless