Edição de Setembro

... revista mensal de programação Open Source

Uma edição repleta de artigos inovadores, redigidos por profissionais, com especial detaque em PHP e PHP-GTK !
  Artigos :
- Design Patterns
- Cross Site Request
- Optimização de código
- Web Services
- Manuel Lemos em entrevista
-
Parceiros :
- Yahoo
- DRI
- Adianti
- PHPClasses
A Revista PHP é distribuida por universidades, instituições e empresas
Solicite-nos informação para publicidade a preços reduzidos !


Artigo 54 / 58

Criar o ficheiro PHP ini de forma automatizada


Tags :
php.ini, php extensions dir, load extensions, ficheiro PHP ini, configurar o php.ini


Um dos grandes problemas na distribuição de aplicações PHP, passa por não prevermos onde o utilizador final instala a aplicação, e assim na hora das configurações levantam-se alguns problemas.

O php.ini é o ficheiro onde são definidas as configurações de ambito geral no PHP (similar o global.asa do ASP). Imagine-se por exemplo que configuramos as extensões no directório c:\pasta1\ext.

Contudo no acto da instalação o utilizador decide por instalar a aplicação num outro qualquer directório , por qualquer razão.

Um dos primeiros problemas seria logo no acto de carregamento das extensões.

Por esta e por outras razões , torna-se útil criar o ficheiro php.ini de forma automatizada , aproximado-se o mais possível da configuração pessoal de cada sistema.

Este problema surgiu-me, quando um destes dias necessitei de desenvolver um aplicativo de base de dados MS SQL, cujo problema da configuração personalizada do php.ini imediatamente se levantou.

A construção do ficheiro não é nada de complexo, apenas bastando obter o caminho do directório para o ficheiro , com a função dirname() e concatenado todo o texto com instruções válidas e necessários à configuração da nossa aplicação.

Em seguida segue-se um exemplo muito simples e funcional da forma como conseguir a criação do ficheiro. Note que poderia criar o php.ini com as directivas que desejar , desde que válidas e reconhecidas pelo Apache.





 <?php
/**************************************
* Autor :   José Franco
* www.revista-php.net
* Licença:  Creative Commons
* Criado  : 10 Junho 2008
***************************************/
// directório onde constam as extensões
$ext_dir dirname(__FILE__)."\ext";

// cabeçalho do PHP.INI
$phpini "[PHP]"."\r\n\r\n";
$phpini .= ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"."\r\n";
$phpini .= ";   Accionar o PHP junto c/ Apache   ;"."\r\n";
$phpini .= ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"."\r\n\r\n";
//acciona o PHP no Apache
$phpini .= "engine=on"."\r\n\r\n";

$phpini .= ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"."\r\n";
$phpini .= ";        Extensões do Windows        ;"."\r\n";
$phpini .= ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"."\r\n\r\n";
// extensão que sejamos carregar (para desabiltar acrecentar)
// ;[ponto e vírgula] antes de "extension" assim
//  ;extension= nome_extensao.dll
$phpini .= "extension=php_sqlsrv_ts.dll"."\r\n\r\n";

// directório das extenções
$phpini .= ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"."\r\n";
$phpini .= ";      Directório das extensões      ;"."\r\n";
$phpini .= ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"."\r\n\r\n";
$phpini .= 'extension_dir='.$ext_dir.''."\r\n";


// cria e armazena o conteúdo no fiheiro php.ini
$fp fopen("php.ini","w+");
fwrite($fp,$phpini);
fclose($fp);


?> 


Comentários
Nome
Email
Comentário

+=
Não existem comentários para este artigo

Links patrocinados

Sponsors

Revista PHP Edição online
 Estão online 6 utilizadores !
38.107.191.119

Artigos publicados online

  • em breve
  • Publicidade
  • eXTReMe Tracker

Promove-te

A Revista PHP, está a receber propostas para edição em edições seguintes. Os teus artigos serão revistos por uma equipa profissional, e publicados de acordo com o grau de profissionalismo. A revista tem um ISSN associado, o que significa que os artigos aquí publicados serão de interesse ciêntifico, podendo ser utilizados em trabalhos de pesquisa tecnologica desde que citada a fonte !