
Artigo 54 / 58
Criar o ficheiro PHP ini de forma automatizada
php.ini, php extensions dir, load extensions, ficheiro PHP ini, configurar o php.ini
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);
?>
Não existem comentários para este artigo 
Estão online 6 utilizadores !