Configurando conexão com PHP + Oracle usando CentOS 6.3 / Red Hat 6.3

Neste artigo vou descrever a maneira mais simples e rapida para configurar o PHP para suporte com Oracle.

Antes de iniciar é necessário ter alguns pacotes básicos instalados;

1
# yum install gcc gcc-c++ autoconf libaio

Instalar o servidor web Apache
O comando abaixo instala o servidor web apache.

1
# yum -y install httpd

Configure para iniciar junto co o boot
Agora configuramos o apache para iniciar junto com o boot.

1
# chkconfig httpd on

Instalar o PHP
Instalando o PHP

1
# yum -y install php php-devel php-pear

Para instalar todas as bibliotecas do PHP – esta etapa não é obrigatoria
O comando abaixo instala todas as extensões disponíveis para o PHP

1
# yum -y install php*

Configurar o SELINUX
Agora vamos desabilitar SELINUX para não interferir no servidor httpd

1
2
3
/etc/sysconfig/selinux
 
# SELINUX=disabled

Instalar o Oracle client
Agora precisamos baixar o client do oracle no site Oracle.com é necessário fazer um cadastro rápido e gratuito.
Lembrando que você deve baixar de acordo com a arquitetura i686 ou x64

O comando abaixo instala os pacotes RPM.
x86_64
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

1
2
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

i686/i386
oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm

1
2
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm

Agora é necessário setar a variável D_LIBRARY_PATH para o caminho da instalação do oracle client, que será carregado durante a Instalação do OCI8

1
2
# export LD_LIBRARY_PATH=/usr/lib/oracle/
# export LD_LIBRARY_PATH=/usr/lib64/oracle/

PHP – Instalação das extensões PECL
http://php.net/manual/pt_BR/install.pecl.php

Instalar o OCI – http://pecl.php.net/package/oci8

1
# pecl install oci8

Quando for solicitado o caminho do oracle_home, pressione enter caso tenha usado o comando export LD_LIBRARY_PATH apontando para o caminho do oracle client ou informar o caminho da instalação
Lembrando que tem diferença entre as plataformas i686 e x64(de acordo com a versão de plataforma e client do oracle usados)
Para suporte
http://php.net/manual/pt_BR/install.pecl.php

Editar o arquivo php.ini

1
# /etc/php.ini

Acrescentar a linha

1
# extension=oci8.so

reiniciar o host

1
# reboot

após reiniciar crie um arquivo phpinfo.php

1
<!--?php phpinfo(); ?-->

Se tudo ocorreu bem deverá aparecer o modulo OCI conforme a imagem abaixo

Problemas comuns

1
2
3
4
5
6
7
8
9
10
When running the CLI version of PHP from the command line, you may receive errors like the following:
[root@myserver /root]$ php -v
PHP Warning: Module 'pcre' already loaded in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so' - /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so: Undefined symbol "pcre_exec" in Unknown on line 0
 PHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0
PHP Warning: Module 'session' already loaded in Unknown on line 0
PHP Warning: Module 'exif' already loaded in Unknown on line 0
PHP 5.2.3 (cli) (built: Jun 14 2007 15:29:17)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Como resolver?
-Verifique se desabilitou o SELINUX após a configuração é necessário reiniciar o host.

 

Atualizado em 28/04/2018

Para instalar o suporte para PHP 5.4 no Linux CentOS 7

pecl install oci8-2.0.12

Extra: Quando tiver problemas para conexão pelo SQL PLUS (sqlplus command not found on Linux)

(para usar o SQLPLUS)
# yum install glibc.i686

Você pode abrir o SQLPLUS para testar a conexão com o banco de dados

Digite no terminal o comando sqlplus

# sqlplus

Para descobrir o diretorio de instalação do Oracle

#find / -name sqlplus -print

Resultado será parecido com:

# /u01/app/oracle/product/database/bin/sqlplus

Execute o comando para indicador o local

ORACLE_HOME=/u01/app/oracle/product/database
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
export PATH

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function log_sql_erro($mensagem){
 
$descricao = mysql_error();
$nr_erro = mysql_errno();
 
$error = "MySQL erro: $descricao";
$error .= "Numero do erro: $nr_erro";
$error .= "Data:" . date ("D, F j, Y H:i:s");
$error .= "IP: " . getenv("REMOTE_ADDR");
$error .= "Browser" . getenv("HTTP_USER_AGENT");
$error .= "Referer" . getenv("HTTP_REFERER");
$error .= "Server name" . getenv("SCRIPT_NAME");
$error .= "Script Name" . getenv("SERVER_NAME");
$error .= "Server" . getenv("SERVER_SOFTWARE");
$error .= "OS" .PHP_OS;
$error .= "PHP Versao" . PHP_VERSION;
$error .= "";
 
echo $error;
 
exit();
}

Tendo a necessidade para um maior controle das ligações que são feitas e dividir os custos por setor da empresa, iremos integrar o LOG que o software remora cria a cada ligação que é feita.
O PABX intelbras permite controlar as ligações atráves de usuário e senha, os usuário vão de 00 a 99, o pabx está conectado no servidor atraves da porta serial.
O remora gera 2 tipos de LOG, sendo um por ramal onde originou as ligações e outro por codigo de usuário que fez as ligações. Este logs ficam dentro na pasta(INTEGRA) onde o remora foi instalado.

Esta integração será feita usando um script PHP que ficara como uma tarefa agendada(CRON), para ser executada 2 vezes por dia, as 12h e 24h.

arquivos de log
Por código sendo os 2 ultimos caracteres no nome do arquivo o codigo de usuário.
CODIGO00.TXT, CODIGO01.TXT, CODIGO02.TXT, CODIGO03.TXT, CODIGO04.TXT…

CONTEUDO DO ARQUIVO CODIGO00.TXT

1
2
3
4
Hora     T OP TR RRRRR NNNNNNNNNNNNNNNNNNNN HH:MM:SS HH:MM:SS DD/MM/AAAA CL 99999,99 CP DDDDDDDDDDDDDDDDDDDDDDDDD
15:55:43 S 12 32   304 99999999             15:36:35 00:00:18 20/10/2011  5     0,28 00 CELULAR DDD 016
15:55:45 S 12 04   304 99999999             15:37:24 00:00:14 20/10/2011  7     0,13 00 FRANCA
16:00:06 S 12 31   304 99999999             15:59:41 00:00:23 20/10/2011  5     0,00 00 Fabiano celular

CONTEUDO DO ARQUIVO RMO00300.TXT
Por ramal sendo os 5 ultimos caracteres no nome do arquivo o numero do ramal.
RMO00300.TXT

1
2
3
03   300 99999999         10:30:54 00:00:07 20110627         0,15 12
32   300 99999999         10:41:51 00:02:46 20110627         2,10 12
01   300 99999999         10:50:51 00:00:07 20110627         0,15 12

Obs.: não esqueça de configurar o PHP para conectar ao oracle

Caso seu servidor web esteja em um ambiente separado do servidor com o remora instalado, você poderá criar scripts em shell para transferir os arquivos ou compartilhar a pasta, enfim faça da maneira que irá te atender.

Vamos ao que interessa;
O codigo está comentado, por isso não vou explicar passo a passo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
set_time_limit(0); //definiar tempo para execução do script caso o arquivo tenha muitas linhas
ob_start();
 
require_once('conecta_oracle.php');
//configure conforme o seu ambiente.
// "\ip_servidorpasta_compartilhadaarquivos do LOG"
$diretorio_data = "C:\intranet\www\data_txt\";
 
//listar arquivos do diretorio.
$$dir = @opendir($diretorio_data);
$i=0;
while (false !== ($file = readdir($$dir))) {// while pastas
	if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != $dir) { // if pastas
		$i++;
		$indice[$i] = "$file";
		$nm_arquivo 	= $indice[$i] = "$file";
		$tipo		= substr($indice[$i], 0, 6);
		$codigo_ramal	= substr($indice[$i], 6, 2);
 
 
// recebe parametros
	if($tipo == 'CODIGO'){
		//imprimi o nome do arquivo
		echo $nm_arquivo;
		echo ' -- '.$i.'<br />';
 
		$arquivo = $diretorio_data.$nm_arquivo;
 
			if (file_exists($arquivo)) {
 
			$ponteiro = fopen ("$arquivo", "r");
 
			$num_linhas = 0;
			$caracteres = 0;
 
				while (!feof ($ponteiro)) {
					if ($linha = fgets($ponteiro, 4096)){
						$num_linhas++;
						$caracteres += strlen($linha);
 
						if ($num_linhas != "1"){ // ignorar a primeira linha do arquivo cabeçalho.
							$DATA_IMPORTACAO = date('d/m/Y');//;
							$DS_USUARIO = 'import';
							$CD_PABX = $codigo_ramal;
 
							$HR_LEITURA			= substr($linha, 0, 9);
							$DS_TIPO			= substr($linha, 9, 1);
							$DS_OP 				= substr($linha, 11, 2);
							$DS_TR 				= substr($linha, 14, 2);
							$NR_RAMAL 			= substr($linha, 17, 5);
							$NR_LIGACAO 		= substr($linha, 23, 20);
							$HR_LIGACAO			= substr($linha, 44, 8);
							$DS_DURACAO 		= substr($linha, 53, 8);
							$DT_LIGACAO			= substr($linha, 62, 10);
							$DS_CL 				= substr($linha, 73, 2);
							$VL_LIGACAO			= substr($linha, 76, 8);
							$DS_CP 				= substr($linha, 85, 2);
							$DS_DESTINO 		= substr($linha, 88, 25);
 
							$consulta = "INSERT INTO hak_pabx_registro_codigo_tb (
							NR_SEQUENCIA, DATA_IMPORTACAO, DS_USUARIO, CD_PABX, HR_LEITURA, DS_TIPO, DS_OP, DS_TR,
							NR_RAMAL, NR_LIGACAO, HR_LIGACAO, DS_DURACAO, DT_LIGACAO, DS_CL, VL_LIGACAO, DS_CP, DS_DESTINO
							)
							VALUES (
							HAK_TELEFONIA_SEQ.Nextval, '$DATA_IMPORTACAO', '$DS_USUARIO', '$CD_PABX', '$HR_LEITURA', '$DS_TIPO', '$DS_OP', '$DS_TR',
							'$NR_RAMAL', '$NR_LIGACAO',	'$HR_LIGACAO', '$DS_DURACAO', '$DT_LIGACAO', '$DS_CL', '$VL_LIGACAO', '$DS_CP', '$DS_DESTINO'
							)";
 
								$stid = oci_parse( $conexao, "".$consulta."" ) or die ( " erro " . oci_error() );
 
								oci_execute ( $stid );
									//$exec = oci_execute( $stid , OCI_DEFAULT);
								oci_commit( $conexao );  // commits all new values: 1, 2, 3, 4, 5
 
						}//if ignora primeira linha
					}//if
				}//while
				echo 'total de importações: ' . $num_linhas_total  = $num_linhas_total + $num_linhas;
				fclose ($ponteiro);//FECHA O PONTEIRO DO ARQUIVO
				// você poderá apagar o arquivo para não importar o mesmo arquivo 2 vezes, ou renomear
//unlink("$arquivo");
				//rename($arquivo, "importado".$arquivo."000");//
			}//exists
			else { // FILE EXISTS
				echo "O arquivo $arquivo não FOI FOI ENCONTRADO";
				}
	}//tipo
 
	}
} // fecha while
 
oci_free_statement($stid);
oci_close($conexao);//fecha a conexão atual

Read More →

Bom pessoal, o objetivo desse tutorial é ensinar a vocês como enviar SMS atraves de um script PHP usando um modem, ou seu aparelho de celular.

Neste tuto estou usando o programa de gateway OZEKI NG, que pode ser baixado e usado por 30 dias grátis.

Eu andei pesquisando e não encontrei muita coisa sobre o assunto, porém existem várias empresas que oferecem o serviço gateway de SMS e cobram cerca de 0,20 por mensagem enviada.

As operadoras de telefonia movel cobram R$ 0,50 centavos por dia, para você enviar ilimitadas mensagens resumindo você gastaria apenas R$ 15,00 por mês para enviar ilimitados SMS.
Para começar baixe o programa no site: Ozekisms
http://www.ozekisms.com/index.php?owpn=112
http://www.ozekisms.com/index.php?owpn=433&dpath=%2Fattachments%2F113%2Finstall_1327415285_OzekiNG-SMS-Gateway_4.2.5.zip&dname=Ozeki+NG+SMS+Gateway+v4.2.5&dsize=+%289.3+MB%29+

Em seguida instale o programa(não vou entrar em detalhes da instalação) pois é bem simples além de ter uma opção para detectar automaticamente seu dispositivo e a porta(ex. das portas COM1, COM2, COM3, COM4).

Após instalado você poderá acessar o gateway para fazer as configurações.
http://127.0.0.1:9501/

Você pode se certificar em qual porta seu dispositivo esta atraves do gerenciador de dispositivos do windows.

Apos configurado aguarde alguns minutos para o programa reconhecer o dispositivo e enviar as mensagens.

O proximo passo é criar um formulário e o script php que enviára as informações para o gateway.

Read More →

Cria um arquivo com o nome teste.bat e coloque o codigo abaixo.

WINDOWS – teste.bat

1
2
md pasta_teste
exit

LINUX – teste.sh

1
2
mkdir /var/www/html
exit

O SCRIPT PHP

1
2
3
4
5
//WINDOWS
exec ('C:intranetwwwscriptsteste.bat');
 
//LINUX
exec('/home/teste/teste.sh');

Não esqueça de atribiur as permissões de leitura, escrita e execução para o script.(777)

Demostração básica sobre Encapsulamento utilizando PHP OO

O Encapsulamento é um recurso de proteção de acesso a propriedades de uma classe.

Public -> qualquer um pode acessar
Private -> apenas acesso interno
Protected -> sub-classes podem acessar

 

http://php.net/manual/pt_BR/language.oop5.php

Exemplo

Classe Agenda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Agenda
{
    private $evento;
    private $data;
    private $descricao;
 
		public function setEvento( $evento ) {
			$this->evento = $evento;
		}
		public function getEvento() {
			return $this->evento;
		}
 
		public function setData( $data ) {
			$this->data = $data;
		}
		public function getData() {
			return $this->data;
		}
 
		public function setDescricao( $escricao ) {
			$this->escricao = $escricao;
		}
		public function getDescricao() {
			return $this->escricao;
		}
}

testanto a classe Agenda

1
2
3
4
5
6
7
$agenda = new Agenda();
$agenda->setEvento("Festa dos 100 dias");
$agenda->setData("14/03/2012");
$agenda->setDescricao("A festa mais esperado do ano!!!");
 
 
print_r($agenda);

Imprimir direto pelo PHP

Primeiro você deve configurar o php, abra o arquivo php.ini e descomente a linha a seguir;

1
extension=php_printer.dll

Em seguida reinicie o servidor web.

Crie um arquivo com o nome de teste.txt, e coloque algum texto dentro dele(apenas para testar).
teste.txt

1
estamos testando nosso arquivo teste.txt

O próximo passo é verificar o nome da impressora, a minha esta com o nome de (hplasercolor).

Crie um arquivo com o nome imprimir.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//configure o nome da sua impressora
$printer = "hplasercolor";
if($ph = printer_open($printer))
{
   // Get file contents
//abrindo o arquivo de texto
   $fh = fopen("teste.txt", "rb");
//llendo o arquivo de texto
   $content = fread($fh, filesize("teste.txt"));
   fclose($fh);
 
   // Set print mode to RAW and send PDF to printer
   printer_set_option($ph, PRINTER_MODE, "RAW");
   printer_write($ph, $content);
   printer_close($ph);
}
else "Couldn't connect...";

Para maiores informações visite o site oficial do PHP
http://br2.php.net/manual/pt_BR/book.printer.php

Cannot modify header information – headers already

Recebi alguns emails de usuários com duvidas sobre um erro bem comun que aparece ao usar o comando header. Para corrigir ou fazer com que o erro não apareça mais é bem simples.

Usando a função do PHP (ob_start — Ativa o buffer de saída) é uma das soluções.
http://www.php.net/manual/pt_BR/function.ob-start.php

session_start — Inicia dados de sessão
http://www.php.net/manual/pt_BR/function.session-start.php

Para corrigir esse problema no dreamweaver, pressione CTRL + U(janela de preferencias), em categorias selecione new document(novo documento) e desmarque a opção include unicode signature.

Geralmente esse erro aparece por causa de espaçõs em branco antes da TAG PHP ou por midificação do header apos ja ter impresso informações na tela do usuário, caso esteja chamando arquivos por include, require verifique estes arquivos também.

Até a proxima.

listar os arquivos de um diretorio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
//caminho do diretório
$diretorio_data = "/home/www/data_txt/";
 
$$dir = @opendir($diretorio_data);
$i=0;
while (false !== ($file = readdir($$dir))) {// while pastas
//ignora diretorios
	if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != $dir) { // if pastas
		$i++;
		$indice[$i] = "$file";
		echo $nm_arquivo 	= $indice[$i] = "$file";
	}
} // fecha while

Script para criar conta de email no cpanel

Antes de começar acesse o cpanel para descobrir qual o tema(skin) que esta em uso. Geralmente esta informação fica no lado esquerdo.
Veja imagem abaixo;

Tema Skin cPanel

Tema Skin cPanel

Crie um arquivo com um nome qualquer, aqui no exemplo usarei cpanel_criar_email.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
$cpuser = 'usuario'; // Usuário cPanel
$cppass = 'sua-senha'; // Senha de acesso ao cPanel
$cpdomain = 'coloqueseudominio.com.br'; // Seu dominio ou IP do servidor.. ex. seusite.com.br
$cpskin = 'x3';  // indique o tema(skin) que esta em uso
 
 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Script para criar conta de email no cpanel</title>
<link rel='stylesheet' id='nextgen_gallery_related_images-css'  href='http://blog.fabianobento.com.br/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.css?ver=3.8' type='text/css' media='all' />
<link rel='stylesheet' id='open-sans-css'  href='//fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&ver=3.8' type='text/css' media='all' />
<link rel='stylesheet' id='dashicons-css'  href='http://blog.fabianobento.com.br/wp-includes/css/dashicons.min.css?ver=3.8' type='text/css' media='all' />
<link rel='stylesheet' id='admin-bar-css'  href='http://blog.fabianobento.com.br/wp-includes/css/admin-bar.min.css?ver=3.8' type='text/css' media='all' />
<link rel='stylesheet' id='wp_greet_box_style-css'  href='http://blog.fabianobento.com.br/wp-content/plugins/wp-greet-box/css/style.css?ver=3.8' type='text/css' media='all' />
</head>
 
<body>
<form name="frmEmail" method="post">
<table width="400" border="0">
<tr><td>Usuário:</td><td><input name="user" size="20" value="" /></td></tr>
<tr><td>Senha:</td><td><input name="pass" size="20" type="password" /></td></tr>
<tr>
  <td>Espa&ccedil;o MB</td>
  <td><select name="select" id="select">
    <option value="100">100 MB</option>
    <option value="250">250 MB</option>
    <option value="500">500 MB</option>
  </select></td>
</tr>
 
<tr><td colspan="2" align="center"><hr /><input name="submit" type="submit" value="Criar conta de email" /></td></tr>
</table>
</form>
<!-- This website uses Linkable Title Html And Php Widget v1.2.5 Wordpress plugin developed by PepLamb (PepLamb.com) -->
<!-- START: Syntax Highlighter ComPress -->
<script type="text/javascript">
    SyntaxHighlighter.autoloader(
        'applescript			http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushAppleScript.js',
        'actionscript3 as3		http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushAS3.js',
        'bash shell				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushBash.js',
        'coldfusion cf			http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushColdFusion.js',
        'cpp c					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushCpp.js',
        'c# c-sharp csharp		http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushCSharp.js',
        'css					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushCss.js',
        'delphi pascal pas		http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushDelphi.js',
        'diff patch			    http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushDiff.js',
        'erl erlang				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushErlang.js',
        'groovy					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushGroovy.js',
        'java					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushJava.js',
        'jfx javafx				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushJavaFX.js',
        'js jscript javascript	http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushJScript.js',
        'perl pl				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushPerl.js',
        'php					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushPhp.js',
        'text plain				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushPlain.js',
        'powershell ps          http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushPowerShell.js',
        'py python				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushPython.js',
        'ruby rails ror rb		http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushRuby.js',
        'sass scss              http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushSass.js',
        'scala					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushScala.js',
        'sql					http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushSql.js',
        'vb vbnet				http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushVb.js',
        'xml xhtml xslt html	http://blog.fabianobento.com.br/wp-content/plugins/syntax-highlighter-compress/scripts/shBrushXml.js'
    );
                    SyntaxHighlighter.defaults['toolbar'] = false;     SyntaxHighlighter.defaults['tab-size'] = 4;
    SyntaxHighlighter.all();
</script>
<!-- END: Syntax Highlighter ComPress -->
 
	<script type='text/javascript'>
/* <![CDATA[ */
var photocrati_ajax = {"url":"http://blog.fabianobento.com.br/photocrati_ajax","wp_site_url":"http://blog.fabianobento.com.br","wp_site_static_url":"http://blog.fabianobento.com.br"};
/* ]]> */
</script>
 
<script type='text/javascript'>
/* <![CDATA[ */
var userSettings = {"url":"/","uid":"1","time":"1388671874"};var commonL10n = {"warnDelete":"You are about to permanently delete the selected items.n  'Cancel' to stop, 'OK' to delete."};/* ]]> */
</script>
<script type='text/javascript' src='http://blog.fabianobento.com.br/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,hoverIntent,utils,common,admin-bar&ver=3.8'></script>
<script type='text/javascript' src='http://blog.fabianobento.com.br/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js?ver=3.8'></script>
<script type='text/javascript' src='http://blog.fabianobento.com.br/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js?ver=3.8'></script>
		<div id="wpadminbar" class="nojq nojs" role="navigation">
			<a class="screen-reader-shortcut" href="#wp-toolbar" tabindex="1">Skip to toolbar</a>
			<div class="quicklinks" id="wp-toolbar" role="navigation" aria-label="Top navigation toolbar." tabindex="0">
				<ul id="wp-admin-bar-root-default" class="ab-top-menu">
		<li id="wp-admin-bar-menu-toggle"><a class="ab-item"  href="#" title="Menu"><span class="ab-icon"></span></a>		</li>
		<li id="wp-admin-bar-wp-logo" class="menupop"><a class="ab-item"  aria-haspopup="true" href="http://blog.fabianobento.com.br/wp-admin/about.php" title="About WordPress"><span class="ab-icon"></span></a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-wp-logo-default" class="ab-submenu">
		<li id="wp-admin-bar-about"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/about.php">About WordPress</a>		</li></ul><ul id="wp-admin-bar-wp-logo-external" class="ab-sub-secondary ab-submenu">
		<li id="wp-admin-bar-wporg"><a class="ab-item"  href="http://wordpress.org/">WordPress.org</a>		</li>
		<li id="wp-admin-bar-documentation"><a class="ab-item"  href="http://codex.wordpress.org/">Documentation</a>		</li>
		<li id="wp-admin-bar-support-forums"><a class="ab-item"  href="http://wordpress.org/support/">Support Forums</a>		</li>
		<li id="wp-admin-bar-feedback"><a class="ab-item"  href="http://wordpress.org/support/forum/requests-and-feedback">Feedback</a>		</li></ul></div>		</li>
		<li id="wp-admin-bar-site-name" class="menupop"><a class="ab-item"  aria-haspopup="true" href="http://blog.fabianobento.com.br/">Fabiano Bento</a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-site-name-default" class="ab-submenu">
		<li id="wp-admin-bar-view-site"><a class="ab-item"  href="http://blog.fabianobento.com.br/">Visit Site</a>		</li></ul></div>		</li>
		<li id="wp-admin-bar-updates"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/update-core.php" title="1 Plugin Update"><span class="ab-icon"></span><span class="ab-label">1</span><span class="screen-reader-text">1 Plugin Update</span></a>		</li>
		<li id="wp-admin-bar-comments"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/edit-comments.php" title="4 comments awaiting moderation"><span class="ab-icon"></span><span id="ab-awaiting-mod" class="ab-label awaiting-mod pending-count count-4">4</span></a>		</li>
		<li id="wp-admin-bar-new-content" class="menupop"><a class="ab-item"  aria-haspopup="true" href="http://blog.fabianobento.com.br/wp-admin/post-new.php" title="Add New"><span class="ab-icon"></span><span class="ab-label">New</span></a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-new-content-default" class="ab-submenu">
		<li id="wp-admin-bar-new-post"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/post-new.php">Post</a>		</li>
		<li id="wp-admin-bar-new-media"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/media-new.php">Media</a>		</li>
		<li id="wp-admin-bar-new-link"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/link-add.php">Link</a>		</li>
		<li id="wp-admin-bar-new-page"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/post-new.php?post_type=page">Page</a>		</li>
		<li id="wp-admin-bar-new-user"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/user-new.php">User</a>		</li></ul></div>		</li>
		<li id="wp-admin-bar-ngg-menu" class="menupop"><a class="ab-item"  aria-haspopup="true" href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=nextgen-gallery">Gallery</a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-ngg-menu-default" class="ab-submenu">
		<li id="wp-admin-bar-ngg-menu-overview"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=nextgen-gallery">Overview</a>		</li>
		<li id="wp-admin-bar-ngg-menu-add-gallery"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=ngg_addgallery">Add Gallery / Images</a>		</li>
		<li id="wp-admin-bar-ngg-menu-manage-gallery"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=nggallery-manage-gallery">Manage Galleries</a>		</li>
		<li id="wp-admin-bar-ngg-menu-manage-album"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=nggallery-manage-album">Manage Albums</a>		</li>
		<li id="wp-admin-bar-ngg-menu-tags"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=nggallery-tags">Manage Tags</a>		</li>
		<li id="wp-admin-bar-ngg-menu-display_settings"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=ngg_display_settings">Gallery Settings</a>		</li>
		<li id="wp-admin-bar-ngg-menu-other_options"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/admin.php?page=ngg_other_options">Other Options</a>		</li></ul></div>		</li></ul><ul id="wp-admin-bar-top-secondary" class="ab-top-secondary ab-top-menu">
		<li id="wp-admin-bar-my-account" class="menupop with-avatar"><a class="ab-item"  aria-haspopup="true" href="http://blog.fabianobento.com.br/wp-admin/profile.php" title="My Account">Howdy, Bento<img alt='' src='http://0.gravatar.com/avatar/cfa44b1884f20520e243ced33e679143?s=26&d=blank&r=G' class='avatar avatar-26 photo' height='26' width='26' /></a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-user-actions" class="ab-submenu">
		<li id="wp-admin-bar-user-info"><a class="ab-item" tabindex="-1" href="http://blog.fabianobento.com.br/wp-admin/profile.php"><img alt='' src='http://0.gravatar.com/avatar/cfa44b1884f20520e243ced33e679143?s=64&d=blank&r=G' class='avatar avatar-64 photo' height='64' width='64' /><span class='display-name'>Bento</span><span class='username'>fabiano</span></a>		</li>
		<li id="wp-admin-bar-edit-profile"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-admin/profile.php">Edit My Profile</a>		</li>
		<li id="wp-admin-bar-logout"><a class="ab-item"  href="http://blog.fabianobento.com.br/wp-login.php?action=logout&_wpnonce=4fc0b78e9d">Log Out</a>		</li></ul></div>		</li></ul>			</div>
						<a class="screen-reader-shortcut" href="http://blog.fabianobento.com.br/wp-login.php?action=logout&_wpnonce=4fc0b78e9d">Log Out</a>
					</div>
 
		</body>
</html>

Artigo original: http://www.zubrag.com/scripts/