Обсуждение: PostgreSQl, PHP and IIS

Поиск
Список
Период
Сортировка

PostgreSQl, PHP and IIS

От
"Mark Williams"
Дата:

I have PHP v7.2.7 and PostgreSQL v10 with Windows IIS.

 

I am trying to get this to work following any advice I have been able to find on the web, but with no success. My configuration so far is as below.

 

PHP.ini extension list includes both php_pdo_pgsql.dll and php_pgsql.dll.

 

Both these dlls are located in the correct extensions directory according to phpinfo.

 

According to phpinfo the Configuration File Path is "C:\Windows" and the Loaded Configuration File is "C:\Program Files\PHP\v7.2\php.ini". I have the same php.ini file at both locations.

 

I have copied the version of libpq.dll from the lib folder of the postgresql installation to the root folder of the PHP installation.

 

I have added the bin folder of the postgresql installation to the Windows system search path.

 

Phpinfo shows that pdo_pgsql extension is loaded but not pgsql.

 

I have also tried copying the dependent dlls (ssleay32.dll, libeay32.dll, libintl-8.dll, libiconv-2.dll) from the postgresql bin folder to the php root folder).

 

Phpinfo show php_pdo_pgsql is enabled, but not php_pgsql.dll and an undefined function call error is displayed by php when I try and run any pg php functions.

 

Can anyone please shed any light on what more I need to do?

 

Regards,

 

Mark

Re: PostgreSQl, PHP and IIS

От
Adrian Klaver
Дата:
On 9/21/18 10:35 AM, Mark Williams wrote:
> I have PHP v7.2.7 and PostgreSQL v10 with Windows IIS.
> 
> I am trying to get this to work following any advice I have been able to 
> find on the web, but with no success. My configuration so far is as below.
> 
> PHP.ini extension list includes both php_pdo_pgsql.dll and php_pgsql.dll.
> 
> Both these dlls are located in the correct extensions directory 
> according to phpinfo.
> 
> According to phpinfo the Configuration File Path is "C:\Windows" and the 
> Loaded Configuration File is "C:\Program Files\PHP\v7.2\php.ini". I have 
> the same php.ini file at both locations.
> 
> I have copied the version of libpq.dll from the lib folder of the 
> postgresql installation to the root folder of the PHP installation.
> 
> I have added the bin folder of the postgresql installation to the 
> Windows system search path.
> 
> Phpinfo shows that pdo_pgsql extension is loaded but not pgsql.
> 
> I have also tried copying the dependent dlls (ssleay32.dll, 
> libeay32.dll, libintl-8.dll, libiconv-2.dll) from the postgresql bin 
> folder to the php root folder).
> 
> Phpinfo show php_pdo_pgsql is enabled, but not php_pgsql.dll and an 
> undefined function call error is displayed by php when I try and run any 
> pg php functions.
> 
> Can anyone please shed any light on what more I need to do?

So what is the error you are getting?

Or to put it another way, what is not happening?

> 
> Regards,
> 
> Mark
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


RE: PostgreSQl, PHP and IIS

От
"Mark Williams"
Дата:
"Fatal error: Call to undefined function pg_connect".

Obviously, that is to be expected if pgsql module is not loading.

__

-----Original Message-----
From: Adrian Klaver <adrian.klaver@aklaver.com> 
Sent: 21 September 2018 23:02
To: Mark Williams <markwillimas@gmail.com>;
pgsql-general@lists.postgresql.org
Subject: Re: PostgreSQl, PHP and IIS

On 9/21/18 10:35 AM, Mark Williams wrote:
> I have PHP v7.2.7 and PostgreSQL v10 with Windows IIS.
> 
> I am trying to get this to work following any advice I have been able 
> to find on the web, but with no success. My configuration so far is as
below.
> 
> PHP.ini extension list includes both php_pdo_pgsql.dll and php_pgsql.dll.
> 
> Both these dlls are located in the correct extensions directory 
> according to phpinfo.
> 
> According to phpinfo the Configuration File Path is "C:\Windows" and 
> the Loaded Configuration File is "C:\Program Files\PHP\v7.2\php.ini". 
> I have the same php.ini file at both locations.
> 
> I have copied the version of libpq.dll from the lib folder of the 
> postgresql installation to the root folder of the PHP installation.
> 
> I have added the bin folder of the postgresql installation to the 
> Windows system search path.
> 
> Phpinfo shows that pdo_pgsql extension is loaded but not pgsql.
> 
> I have also tried copying the dependent dlls (ssleay32.dll, 
> libeay32.dll, libintl-8.dll, libiconv-2.dll) from the postgresql bin 
> folder to the php root folder).
> 
> Phpinfo show php_pdo_pgsql is enabled, but not php_pgsql.dll and an 
> undefined function call error is displayed by php when I try and run 
> any pg php functions.
> 
> Can anyone please shed any light on what more I need to do?

So what is the error you are getting?

Or to put it another way, what is not happening?

> 
> Regards,
> 
> Mark
> 


--
Adrian Klaver
adrian.klaver@aklaver.com



Re: PostgreSQl, PHP and IIS

От
"Daniel Verite"
Дата:
    Mark Williams wrote:

> Can anyone please shed any light on what more I need to do?

Overall, what you did looks good.
I've never used IIS, but when faced with similar problems with Apache,
ProcessExplorer [1] has been quite effective to figure out which
dependent DDLs were missing, where PHP was searching for them,
and the precise errors it encountered.

[1] https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite


Re: PostgreSQl, PHP and IIS

От
Adrian Klaver
Дата:
On 9/22/18 3:06 AM, Mark Williams wrote:
> "Fatal error: Call to undefined function pg_connect".
> 
> Obviously, that is to be expected if pgsql module is not loading.

Went back over your previous post and saw:

"I have copied the version of libpq.dll from the lib folder of the 
postgresql installation to the root folder of the PHP installation.

I have added the bin folder of the postgresql installation to the 
Windows system search path.
"

I would say add the lib/ of the Postgres install to the search path.

> 
> __
> 
> -----Original Message-----
> From: Adrian Klaver <adrian.klaver@aklaver.com>
> Sent: 21 September 2018 23:02
> To: Mark Williams <markwillimas@gmail.com>;
> pgsql-general@lists.postgresql.org
> Subject: Re: PostgreSQl, PHP and IIS
> 
> On 9/21/18 10:35 AM, Mark Williams wrote:
>> I have PHP v7.2.7 and PostgreSQL v10 with Windows IIS.
>>
>> I am trying to get this to work following any advice I have been able
>> to find on the web, but with no success. My configuration so far is as
> below.
>>
>> PHP.ini extension list includes both php_pdo_pgsql.dll and php_pgsql.dll.
>>
>> Both these dlls are located in the correct extensions directory
>> according to phpinfo.
>>
>> According to phpinfo the Configuration File Path is "C:\Windows" and
>> the Loaded Configuration File is "C:\Program Files\PHP\v7.2\php.ini".
>> I have the same php.ini file at both locations.
>>
>> I have copied the version of libpq.dll from the lib folder of the
>> postgresql installation to the root folder of the PHP installation.
>>
>> I have added the bin folder of the postgresql installation to the
>> Windows system search path.
>>
>> Phpinfo shows that pdo_pgsql extension is loaded but not pgsql.
>>
>> I have also tried copying the dependent dlls (ssleay32.dll,
>> libeay32.dll, libintl-8.dll, libiconv-2.dll) from the postgresql bin
>> folder to the php root folder).
>>
>> Phpinfo show php_pdo_pgsql is enabled, but not php_pgsql.dll and an
>> undefined function call error is displayed by php when I try and run
>> any pg php functions.
>>
>> Can anyone please shed any light on what more I need to do?
> 
> So what is the error you are getting?
> 
> Or to put it another way, what is not happening?
> 
>>
>> Regards,
>>
>> Mark
>>
> 
> 
> --
> Adrian Klaver
> adrian.klaver@aklaver.com
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


RE: PostgreSQl, PHP and IIS

От
"Mark Williams"
Дата:
Thanks for the suggestions.

I don't think there is any dependencies in the lib folder, but added it anyway and it made no difference.

I tried "Process Explorer" (having previously tried "Dependency Walker") PE revealed one or two more dependencies I was
previouslyunaware of. Added these to the root PHP folder, but still got me no further. I have even added Postgres.EXE
tothe php root folder.  

In desperation I tried adding all the postgres files to the PHP Ext folder. Unsurprisingly that did not yield results
either.

Does anyone know of a step by step guide for installing php and postgres on windows server? So I can doublecheck to see
ifthere is anything I have missed. I can only assume I have made some simple mistake as it surely can't be this
difficultto set up. 

Cheers,

Mark

__

-----Original Message-----
From: Adrian Klaver <adrian.klaver@aklaver.com>
Sent: 22 September 2018 16:45
To: Mark Williams <markwillimas@gmail.com>; pgsql-general@lists.postgresql.org
Subject: Re: PostgreSQl, PHP and IIS

On 9/22/18 3:06 AM, Mark Williams wrote:
> "Fatal error: Call to undefined function pg_connect".
>
> Obviously, that is to be expected if pgsql module is not loading.

Went back over your previous post and saw:

"I have copied the version of libpq.dll from the lib folder of the postgresql installation to the root folder of the
PHPinstallation. 

I have added the bin folder of the postgresql installation to the Windows system search path.
"

I would say add the lib/ of the Postgres install to the search path.

>
> __
>
> -----Original Message-----
> From: Adrian Klaver <adrian.klaver@aklaver.com>
> Sent: 21 September 2018 23:02
> To: Mark Williams <markwillimas@gmail.com>;
> pgsql-general@lists.postgresql.org
> Subject: Re: PostgreSQl, PHP and IIS
>
> On 9/21/18 10:35 AM, Mark Williams wrote:
>> I have PHP v7.2.7 and PostgreSQL v10 with Windows IIS.
>>
>> I am trying to get this to work following any advice I have been able
>> to find on the web, but with no success. My configuration so far is
>> as
> below.
>>
>> PHP.ini extension list includes both php_pdo_pgsql.dll and php_pgsql.dll.
>>
>> Both these dlls are located in the correct extensions directory
>> according to phpinfo.
>>
>> According to phpinfo the Configuration File Path is "C:\Windows" and
>> the Loaded Configuration File is "C:\Program Files\PHP\v7.2\php.ini".
>> I have the same php.ini file at both locations.
>>
>> I have copied the version of libpq.dll from the lib folder of the
>> postgresql installation to the root folder of the PHP installation.
>>
>> I have added the bin folder of the postgresql installation to the
>> Windows system search path.
>>
>> Phpinfo shows that pdo_pgsql extension is loaded but not pgsql.
>>
>> I have also tried copying the dependent dlls (ssleay32.dll,
>> libeay32.dll, libintl-8.dll, libiconv-2.dll) from the postgresql bin
>> folder to the php root folder).
>>
>> Phpinfo show php_pdo_pgsql is enabled, but not php_pgsql.dll and an
>> undefined function call error is displayed by php when I try and run
>> any pg php functions.
>>
>> Can anyone please shed any light on what more I need to do?
>
> So what is the error you are getting?
>
> Or to put it another way, what is not happening?
>
>>
>> Regards,
>>
>> Mark
>>
>
>
> --
> Adrian Klaver
> adrian.klaver@aklaver.com
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com



Re: PostgreSQl, PHP and IIS

От
Adrian Klaver
Дата:
On 9/23/18 3:54 AM, Mark Williams wrote:
> Thanks for the suggestions.
> 
> I don't think there is any dependencies in the lib folder, but added it anyway and it made no difference.
> 
> I tried "Process Explorer" (having previously tried "Dependency Walker") PE revealed one or two more dependencies I
waspreviously unaware of. Added these to the root PHP folder, but still got me no further. I have even added
Postgres.EXEto the php root folder.
 
> 
> In desperation I tried adding all the postgres files to the PHP Ext folder. Unsurprisingly that did not yield results
either.
> 
> Does anyone know of a step by step guide for installing php and postgres on windows server? So I can doublecheck to
seeif there is anything I have missed. I can only assume I have made some simple mistake as it surely can't be this
difficultto set up.
 

Maybe this?:

https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php

> 
> Cheers,
> 
> Mark
> 
> __
> 
> -----Original Message-----
> From: Adrian Klaver <adrian.klaver@aklaver.com>
> Sent: 22 September 2018 16:45
> To: Mark Williams <markwillimas@gmail.com>; pgsql-general@lists.postgresql.org
> Subject: Re: PostgreSQl, PHP and IIS
> 
> On 9/22/18 3:06 AM, Mark Williams wrote:
>> "Fatal error: Call to undefined function pg_connect".
>>
>> Obviously, that is to be expected if pgsql module is not loading.
> 
> Went back over your previous post and saw:
> 
> "I have copied the version of libpq.dll from the lib folder of the postgresql installation to the root folder of the
PHPinstallation.
 
> 
> I have added the bin folder of the postgresql installation to the Windows system search path.
> "
> 
> I would say add the lib/ of the Postgres install to the search path.
> 
>>



-- 
Adrian Klaver
adrian.klaver@aklaver.com


RE: PostgreSQl, PHP and IIS

От
"Mark Williams"
Дата:
Hi thanks,

Sadly PHP and IIS isn't the issue. It’s when you bring Postgres into the fold that I am getting a problem. But thanks.

Mark

__

-----Original Message-----
From: Adrian Klaver <adrian.klaver@aklaver.com>
Sent: 23 September 2018 15:36
To: Mark Williams <markwillimas@gmail.com>; pgsql-general@lists.postgresql.org; daniel@manitou-mail.org
Subject: Re: PostgreSQl, PHP and IIS

On 9/23/18 3:54 AM, Mark Williams wrote:
> Thanks for the suggestions.
>
> I don't think there is any dependencies in the lib folder, but added it anyway and it made no difference.
>
> I tried "Process Explorer" (having previously tried "Dependency Walker") PE revealed one or two more dependencies I
waspreviously unaware of. Added these to the root PHP folder, but still got me no further. I have even added
Postgres.EXEto the php root folder. 
>
> In desperation I tried adding all the postgres files to the PHP Ext folder. Unsurprisingly that did not yield results
either.
>
> Does anyone know of a step by step guide for installing php and postgres on windows server? So I can doublecheck to
seeif there is anything I have missed. I can only assume I have made some simple mistake as it surely can't be this
difficultto set up. 

Maybe this?:

https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php

>
> Cheers,
>
> Mark
>
> __
>
> -----Original Message-----
> From: Adrian Klaver <adrian.klaver@aklaver.com>
> Sent: 22 September 2018 16:45
> To: Mark Williams <markwillimas@gmail.com>; pgsql-general@lists.postgresql.org
> Subject: Re: PostgreSQl, PHP and IIS
>
> On 9/22/18 3:06 AM, Mark Williams wrote:
>> "Fatal error: Call to undefined function pg_connect".
>>
>> Obviously, that is to be expected if pgsql module is not loading.
>
> Went back over your previous post and saw:
>
> "I have copied the version of libpq.dll from the lib folder of the postgresql installation to the root folder of the
PHPinstallation. 
>
> I have added the bin folder of the postgresql installation to the Windows system search path.
> "
>
> I would say add the lib/ of the Postgres install to the search path.
>
>>



--
Adrian Klaver
adrian.klaver@aklaver.com



Re: PostgreSQl, PHP and IIS

От
rob stone
Дата:
Hi

On Mon, 2018-09-24 at 10:46 +0100, Mark Williams wrote:
> Hi thanks,
> 
> Sadly PHP and IIS isn't the issue. It’s when you bring Postgres into
> the fold that I am getting a problem. But thanks.
> 
> Mark
> 
> 
I'm not a Windows user and no little about setting up Postgres using
IIS, but you might find something useful from users' comments at this
link:-

http://www.php.net/manual/en/pgsql.setup.php


Cheers,
Rob