Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kklj

postgree e php

Recommended Posts

pessoal como faço para usar postgree com php? eu pesquisei na net e falava para alterar no php.ini, mas nao encontrei nada, em outro topico achei q era para instalar um drive. uso o postgree 8.2. q vertrigo com php.

 

como faco?

 

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em seu php.ini procure esse treco:

 

;extension=php_apc.dll
;extension=php_apd.dll
;extension=php_bcompiler.dll
;extension=php_bitset.dll
;extension=php_blenc.dll
;extension=php_bz2.dll
;extension=php_bz2_filter.dll
;extension=php_classkit.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_cvsclient.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_dio.dll
;extension=php_docblock.dll
;extension=php_domxml.dll
;extension=php_event.dll
;extension=php_fdf.dll
;extension=php_fileinfo.dll
;extension=php_filepro.dll
;extension=php_filter.dll
;extension=php_fribidi.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_gopher.dll
;extension=php_hash.dll
;extension=php_http.dll
;extension=php_hyperwave.dll
;extension=php_ibm_db2.dll
;extension=php_id3.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imagick.dll
extension=php_imap.dll
;extension=php_ingres.dll
;extension=php_interbase.dll
;extension=php_ixsfunc.dll
;extension=php_java.dll
;extension=php_json.dll
;extension=php_ldap.dll
;extension=php_lzf.dll
;extension=php_mailparse.dll
;extension=php_maxdb.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mcrypt.dll
;extension=php_mcrypt_filter.dll
;extension=php_memcache.dll
;extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
;extension=php_msql.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_netools.dll
;extension=php_ntuser.dll
;extension=php_oracle.dll
;extension=php_oci8.dll
;extension=php_oggvorbis.dll
;extension=php_openssl.dll
;extension=php_parsekit.dll
extension=php_pdf.dll
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_perl.dll
extension=php_pgsql.dll
;extension=php_phpdoc.dll
;extension=php_pop3.dll
;extension=php_printer.dll
;extension=php_pspell.dll
;extension=php_radius.dll
;extension=php_runkit.dll
;extension=php_sdo.dll
;extension=php_sdo_das_xml.dll
;extension=php_shmop.dll
;extension=php_smtp.dll
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
;extension=php_ssh2.dll
;extension=php_stats.dll
;extension=php_svn.dll
;extension=php_sybase_ct.dll
;extension=php_threads.dll
;extension=php_tidy.dll
;extension=php_timezonedb.dll
;extension=php_translit.dll
;extension=php_win32ps.dll
;extension=php_win32scheduler.dll
;extension=php_win32service.dll
;extension=php_win32std.dll
;extension=php_xdebug.dll
;extension=php_xmlreader.dll
extension=php_xmlrpc.dll
;extension=php_xmlwriter.dll
extension=php_xsl.dll
;extension=php_yaz.dll; Module make problems
extension=php_zip.dll
;extension=php_zlib_filter.dll

 

quando encontrar esta linha: ;extension=php_oracle.dll descomente-a tirando o " ; " do início, e reinicie seu apache ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

KKlj,

 

Qual a versão do php que você está usando, pois tendei instalar a versão 5.2.9-2 windows e não funcionou com o postgres de maneira nenhuma. Então, instalei essa versão 5.2.4.

 

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

alissong,você deve ter feito algo errado,no meu pai (Windows XP SP2) interajo o PHP 5.2.9 com o PostgreSQL 8.3 normalmente,em casa (GNU/Linux [Debian Lenny 5.0]) interajo o PHP 5.2.9 com o PostgreSQL 8.4 normalmente.

Alaerte,ele quer interajir o php com o PostgreSQL e não com o Oracle,além de que no seu post você presumiu que ele esteja usando o sistema operacional windows.

Rodem isso pra mim por favor:

<?php
error_reporting(0);
echo 'Extension_dir path: ', ini_get('extension_dir'), nl2br("\n"), str_repeat('-', 50), nl2br("\n");
function checkExtension($name){
	$ext = (preg_match('/win/i', PHP_OS))? '.dll' : '.so';
	$prefix = ($ext == '.dll')? 'php_' : '';
	$message = $prefix.$name.$ext;
	if(!extension_loaded($name)){
		ini_set('enable_dl', 1);
		if(!dl($message)){
			return array('res' => false, 'message' => 'A extensão '.$message.' não foi carregada'.nl2br("\n"));
		}
	}
	return array('res' => true, 'message' => 'A extensão '.$message.' foi carregada com sucesso!'.nl2br("\n"));
}

$checkPgsql = checkExtension('pgsql');
$checkPdo = checkExtension('pdo');
$checkPdo_pgsql = checkExtension('pdo_pgsql');

echo $checkPgsql['message'], $checkPdo['message'], $checkPdo_pgsql['message'], str_repeat('-', 50), nl2br("\n");

if(!isset($_GET['user'])){
	if($checkPgsql['res'] === true){
	?>
			<script>
				var host = prompt('Digite o host do seu banco de dados');
				var user = prompt('Digite o usuário do seu banco de dados');
				var password = prompt('Digite a password do seu banco de dados');
				window.location.href = '?host=' + host + '&user=' + user + '&password=' + password;
			</script>
	<?php
	}
} else {
	$host = trim($_GET['host']); $host = ($host == '')? 'localhost' : $host;
	$user = $_GET['user'];
	$password = $_GET['password'];
	$con = pg_connect('host='.$host.' user='.$user.' password='.$password);
	if($con){
		echo 'Conexão ao banco de dados estabelecida com a extensão pgsql.';
	} else {
		echo 'Conexão ao banco de dados não estabelecida com a extensão pgsql.';
	}
	echo nl2br("\n");
	pg_close($con);
	if($checkPdo['res'] && $checkPdo_pgsql['res']){
		try {
			$pdo = new PDO('pgsql:host='.$host, $user, $password);
			echo 'Conexão ao banco de dados estabelecida com um PDO.';
			$pdo = null;
		} catch(PDOException $e){
			echo 'Conexão ao banco de dados não estabelecia com um PDO.';
		}
	}
}
?>

Se as extensões não forem carregadas,sigam os seguintes passos:

Procure na sua extension_dir os seguintes arquivos:

 

Windows:

php_pgsql.dll

Se quiser usar PDOs:

php_pdo.dll
pgp_pdo_pgsql.dll
---

Linux:

pgsql.so

Se quiser usar PDOs:

pdo.so
pdo_pgsql.so

Se não existirem,baixe-os compilados e coloquem-os na sua extension_dir,ou baixe o source dos mesmos,compile e coloque em sua extension_dir.

Após isso,abram seu php.ini e escreva/descomente as seguintes linhas:

Windows:

extension=php_pgsql.dll

Se quiser usar PDOs:

extension=php_pdo.dll
extension=php_pdo_pgsql.dll
---

Linux:

extension=pgsql.so

Se quiser usar PDOs:

extension=pdo.so
extension=pdo_pgsql.so

Reinicie seu webserver e rode novamente o script que passei.Se novamente isso acontecer,reportar aqui.

 

Caso as extensões sejam carregadas mas uma conexão a seu banco de dados não for estabelecida,algumas razões são:

-Os parametros passados não coincidem com os do seu banco de dados.

-Seu banco de dados está offline.

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.