Bom resolvi escrever isso, porque é uma pergunta que todo mundo faz.
"Tem como gerar um bytecode(código compilado) do php?". A reposta é "sim!".
Como eu mexo com php-gtk, que é uma digamos assim extensão do php para
criação de aplicação desktop stand-alone, ficava pensando como que eu vou ocultar o código
do usuário? Então comecei a procurar sobre isso, achei falando sobre o zend optimizer, mas não mexi muito com ele,
consegui compilar + não funcionou direito, deve ter sido por inabilidade minha. Entao achei esse BCompiler.
O bCompiler é uma dll, que pode ser baixado no seguinte link:
php_bcompiler.dll
Depois de baixado a dll de acordo com a versão do seu php, coloque essa dll na pasta de extensões do seu php (costuma ser a "ext"),
depois abra o seu php.ini o procure a parte onde ele carrega as extensões e coloque:
extension=php_bcompiler.dll
Sem o ';' por favor.
Feito isso o php já está apto a compilar e a enteder um código php compilado usando o BCompiler.
Se vc criar um arquivo php contendo o famoso:
<?php phpinfo(); ?>
Irá vê-lo.
Ótimo PHP apto a compilar vamos ver o código que gera o bytecode:
<?php
$arq = fopen("codigo_compilado.phb", "w");//Cria o arquivo que conterá o bytecode
bcompiler_write_header($arq); //Escreve a parte do cabeçalho do arquivo bcompiler.
bcompiler_write_file($arq, "codigo_fonte.php"); //Essa função lê o arquivo que você quer gera o bytecode e escreve no arquivo recem criado
bcompiler_write_footer($arq); //Escreve o caracter \x00 para indicar o Fim dos dados compilados.
fclose($arq); //Fecha o arquivo
?>Depois de compilado e gerado o arquivo "codigo_compilado.phb", para usá-lo basta fazer um include ou require.
<?php
include('codigo_compilado.phb');
?>Vou deixar um links com de um pacote contendo o compilador, o fonte de uma classe, a classe compilada, e o um arquivo teste que inclui a classe compilada.
Pack bCompiler
Tem que esperar um pouquinho para aparecer o link para download ok?
Espero que tenham gostado do post.
Até mais.

Entrar
Cadastre-se
Ajuda
Responder


Quote