PHP: Instalando a extensão SVN no Ubuntu 9.04

PHP

Recentemente estive envolvido em um projeto que necessitava interagir com um repositório SVN (controle de versão? Não tem idéia do que é isso? Dê uma lida neste artigo). Era o básico, checkout e commit de arquivos, nada muito complexo. Para minha surpresa, o PHP não tem nenhuma função nativa de acesso a repositórios SVN, então a busca pela iluminação começou.

Primeiro pensei em usar a função exec() e só passar os comandos para ela. Isso resolve, mas é um tanto quando deselegante, pessoalmente achei até um pouco grosseiro, além de que rodar um exec() no servidor nunca é bem visto. Mas funciona!

Como a idéia é sempre a melhor implementação (ou pelo menos o mais próximo possível disso), continuei minhas buscas pelo oráculo. Acabei me deparando com uma extensão PECL que fazia exatamente o que eu precisava, a PHP SVN.

Dentre a lista de funções existentes, estão as funções básicas que eu precisava, checkout e commit , até mais avançadas, com parâmetros para a autenticação em servidores que requerem tal segurança.

Instalação

A instalação via PECL é bem simples, se não fosse por alguns problemas de dependência  que encontrei pelo caminho. Como não há necessidade alguma de vocês passarem pelos mesmos “apertos” pelos quais eu passei, segue o passo a passo:

1º Passo – As dependências

Existem algumas dependências necessárias para instalar o pacote PECL do SVN, segue o comando para instalar todas:

sudo apt-get update && sudo apt-get install php5-dev libsvn-dev \
libsasl2-dev libsasl2-modules-ldap libneon27-gnutls-dev

2º Passo – O pacote PECL

Depois de as dependências todas estarem instaladas, vamos para a instalação do pacote PECL SN:

sudo pecl install -f svn

3º Passo – Configurando o PHP.ini

Para finalizar, como super usuário, digite o seguinte comando no terminal:

echo extension=svn.so >> /etc/php5/apache2/php.ini

Feito isso, para o apache reconhecer a extensão, ele deve ser reiniciado:

sudo apache2ctl restart

Pronto! Já estão disponíves no servidor as funções da extensão em seus scripts.

Referências:

Compartilhe e use:
  • del.icio.us
  • Digg
  • Twitter
  • StumbleUpon
  • Technorati
  • Reddit
  • Rec6
  • Identi.ca


Leia também:

  1. [update] Instalando o Firefox 3.5 no Ubuntu 9.04


Deixe um comentário