Erreur fatale: appel à une fonction non définie pg connect

J'utilise Windows 7, php 5.3.5 et Wamp server. J'ai deux fichiers php: déclencheur.php et background.php.

Je veux vérifier les antécédents.php comme un processus de fond. J'ai appeler ce fichier de la gâchette.php. Pour accomplir ceci j'ai utilisé la méthode ci-dessous. J'ai inclus le code suivant dans trigger.php pour faire background.php à traiter en arrière-plan.

$handle = popen('start /b C:wampbinphpphp5.3.5php.exe     C:wampwwwemail3.php','r');

en arrière-plan.php j'ai le code suivant pour me connecter à la base de données.

$conn_string = "host=localhost port=5432 dbname=tagbase user=postgres password=postgres";  

maintenant, en analysant cette ligne je reçois l'erreur suivante:

Fatal error: Call to undefined function pg_connect () in C:wampwwwbackground.PHP sur la ligne 3 pile D'appels: 0.0002 322792 1. {principal}() C:wampwwwbackground.php: 0

en cherchant dans internet j'ai trouvé quelques solutions, et ai fait des changements comme recommandé ci-dessous dans php.ini,

uncommented, extension=php_pdo_pgsql.dll,
uncommented, extension=php_pgsql.dll,
uncommented, extension_dir = "c:/wamp/bin/php/php5.3.5/ext/",

j'ai aussi php_pdo_pgsql.dll et php_pgsql.fichiers dll dans le dossier c:/wamp/bin/php/php5.3.5/ext/ .

toute suggestion est appréciée.

7
demandé sur Spontifixus 2013-02-13 12:07:47

3 réponses

Apache 2.2.La configuration de X

Ajouter la ligne suivante à l'Apache 2.2.x httpd.configuration conf:

LoadFile "C:/Program Files/PostgreSQL/{version}/bin/libpq.dll"

au-dessus de la ligne doit être inscrit avant la ligne suivante.

LoadModule php5_module "c:/wamp/bin/php/php5.2.11/php5apache2_2.dll"

PHP 5.2.La Configuration De X

active les deux lignes suivantes dans le php.fichier de configuration ini. Par "Activer" je veux dire, supprimer fuite ; (point-virgule). Par ceux-ci, vous dés-commenter la ligne.

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

redémarrer WAMP

Test en ajoutant ceci dans votre index.151970920 php"

echo extension_loaded('pgsql') ? 'yes':'no';

(source: http://www.plaatsoft.nl/wamp-postgresql-integration / )

25
répondu Jordi Kroon 2013-10-13 18:20:14

si nous installons Wamp server, nous aurons deux php.les fichiers ini. un dans C:\wamp\bin\php\php5.3.5 et un autre dans C:\wamp\bin\apache\Apache2.2.17\bin.

si nous exécutons un fichier php à partir du navigateur, alors php.fichier ini dans C:\wamp\bin\apache\Apache2.2.17\bin seront désignés. si nous exécutons un fichier php à partir de la ligne de commande, alors php.fichier ini dans C:\wamp\bin\php\php5.3.5 seront désignés.

quels que soient les changements que j'ai faits activer / désactiver la dll dans les extensions PHP->PHP,toutes les modifications seront sauvegardées dans C:\wamp\bin\apache\Apache2.2.17\bin\php.fichier ini. mais C:\wamp\bin\php\php5.3.5\php.le fichier ini reste inchangé.

pour mon problème, j'ai fait les changements suivants

uncommented, extension=php_pdo_pgsql.dll,
uncommented, extension=php_pgsql.dll,
uncommented, extension_dir = "c:/wamp/bin/php/php5.3.5/ext/",

in C:\wamp\bin\php\php5.3.5\php.fichier ini. Maintenant son travail de bon. :)

4
répondu Shashidhar Gr 2013-02-13 12:30:04

dans mon cas avec Apache / 2.4.10 La Version de PHP 5.4.32 PostgeSQL 9.3 J'ai ajouté libpq.dll vers Apache httpd.conf du catalogue PHP parce Qu'Apache a refusé de commencer avec libpq.dll de PostgreSQL 9.3

0
répondu Jeff_Alieffson 2014-11-09 14:43:58