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
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
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

Categorias
Blog Django Python

primeiros passos com Django – Instalação PIP no Windows

O PIP é um gerenciador de pacotes para Python através de apenas alguns comandos, você já possui esses pacotes, por exemplo para instalar o Django basta “pip install django”, funciona igual um apt-get do ubuntu ou um gem install do Rails
a instação é algo simples basta
entrar no site http://www.pip-installer.org/en/latest/installing.html e ir até Install or Upgrade pip e pegar o get-pip.py e salve dentro do Scripts nesse caso c:\Python3.3.3\Script e execute
get-pip
após execute o comando pip se aparecer uma tela igual abaixo, está tudo correto
pipcommand
Caso não funcione o get-pip, você poderá baixar manualmente no link http://www.pip-installer.org/en/latest/installing.html descompacte o arquivo, extraia ele e navegue até ele pelo prompt e execute a instalação através do setup.py.

# Verificar se não possui erro
python setup.py build
# Instala o pacote PIP
python setup.py install
e pronto está configurado seu PIP
Categorias
Blog Django Python

primeiros passos com Django – Instalação Python no Windows

Django é um framework muito rico e elegante que contém uma linguagem dinâmica que é o Python,  aqui vai um primeiro passo para instalar em windows !
primeiramente entre no site da python
http://www.python.org/
estou usando a versão 3.3.3
Após fazer a instalação coloque em sua variável de ambiente em PATH o seguinte valor C:\Python33\Scripts
path
 
coloque também na variável de ambiente “c:\Python33\” , após feito isso o Python vai estar instalado em seu windows, abra o cmd e navegue até  pasta Python33
 

cd c:\Python33

e digite python ele vai abrir o console em tempo de execução ex:
python console
A Seguir vou ensinar a instalação do PIP

Categorias
Banco de Dados Blog MongoDb

Erro no Locale quando se loga, problemas para iniciar mongodb

Erro no mongodb:
ERROR: child process failed, exited with error number 14
Se você está vendo esta mensagem quando loga

-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory

e quando executa o comando locale -a aparece isso

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
aa_DJ
aa_DJ.iso88591

você está com problemas no local dele, eu tive que resolver isso para instalar o mongodb que precisa que o locale esteja configurado corretamente para subir o processo, para resolver isso é bem simples basta executar

rm /usr/lib/locale/locale-archive; ln -s /usr/lib/locale/locale-archive-rpm /usr/lib/locale/locale-archive

execute o locale -a novamente e verifique que está tudo funcionando corretamente
Obrigado

Categorias
Blog Javascript jQuery

Como parar o cache com jQuery e javascript

Há muitas razões para as pessoas querem desativar ou parar caching por broswer. Especialmente quando se trata de conteúdo dinâmico que exigiu a versão mais recente a ser exibido no navegador. No entanto, devido a razões de segurança, não existem métodos perfeitos em javascript que pode com deficiência cache para todos os navegadores. Neste tutorial, vou demonstrar uma maneira poucos JavaScript e jQuery usado para interromper ou desativar o cache de navegadores.
jQuery
Na versão mais recente jQuery v1.2 acima, jQuery tem proporcionado um método para parar de cache de navegador com sua classe ajax. Você pode visitar o site jQuery para ver a lista de atualização em v1.2 e você vai notar que eles já incluiu uma função para desativar o cache! Você pode escolher para controlar o modo como cada indivíduo conteúdo dinâmico em cache, definindo as propriedades de verdadeiro / falso ou você pode apenas definir um padrão para todos os deficientes o cache do navegador.
A fim de determinar as propriedades de cada ajax cache de chamadas,

 $. Ajax ({
 url: 'teste.html',
 de cache: false,
 sucesso: function (html) {
 $ ('# resultados') append (html).;
}
});

que está sendo refletido no exemplo jQuery. E, a fim de desativar todo o cache pelo navegador, podemos fazer o seguinte,

$ ajaxSetup ({cache: false}});.

Isto terá de ser colocada no topo do script para que ele funcione.
Javascript
A razão pela qual os navegadores são capazes de armazenar em cache um documento particular é devido ao url que está sendo passado para o navegador são idênticos. A fim de tornar único para cada passes, podemos colocar em um número aleatório por trás da url como mostrado abaixo,

 var img.src = 'www.hungred.com' + + Math.random () * Math.random () '?';
 return $ (img). Carga (function ()
 {
 alert ('concluído');
});

Este método irá garantir que todos os documentos para ser exclusivo para cada dinâmica passa você joga para o navegador que eu achar que é mais confiável e útil como este método tem sido há muito, por vezes, e quase todo o navegador irá apoiar tal maneira de recuperar o conteúdo dinâmico.
HTML (16/04/2009)
Você também pode desativar ou parar cache utilizando a seguinte meta tag,




Isso vai evitar que a página inteira ser armazenada em cache pelo navegador também.
tradução de: http://hungred.com/how-to/tutorial-stop-caching-jquery-javascript/