RE: FastCGI error with IIS (was Windows binaries)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tommy,

Let me clarify one thing. This has nothing to do with IIS or FastCGI or for that matter Apache. You were probably not seeing this in ISAPI because you must be using PHP 5.2.* and that doesn't have this behavior. You can switch to PHP 5.2.13 with IIS FastCGI and it will work fine.

Now let's take a deep look at what's happening under the hood. I explained it in this news group sometime back. I am just copying that mail for your reference. Please read it and let me know in case you have any question.

Thanks,
Don.

-----Original Message-----
From: Tommy Pham [mailto:tommyhp2@xxxxxxxxx] 
Sent: Thursday, April 08, 2010 1:19 PM
To: Venkat Raman Don; php-windows@xxxxxxxxxxxxx
Subject: RE: [PHP-WIN] FastCGI error with IIS (was Windows binaries)

Hi Don,

> -----Original Message-----
> From: Venkat Raman Don [mailto:Don.Raman@xxxxxxxxxxxxx]
> Sent: Thursday, April 08, 2010 12:15 PM
> To: Tommy Pham; php-windows@xxxxxxxxxxxxx
> Subject: RE: [PHP-WIN] FastCGI error with IIS (was Windows binaries)
> 
> Please disable IPV6 on your machine. Details at
> http://bugs.php.net/bug.php?id=50172. See if this helps.
> 

Uninstall IPv6 fix that problem but then create a lot more problems, including PostgreSQL, that depend on IPv6.  I thought about changing all references, of all app depending on MySQL, of localhost to 127.0.0.1 then it works fine.  This wasn't the issue with ISAPI or Apache mod.  Do you know reason why?

> Details about timeout problem can be seen at
> http://blogs.iis.net/donraman/archive/2010/02/08/troubleshoot-my-php-
> script-is-timing-out.aspx. This blog explains all about different
> timeout which IIS FastCGI uses.
> 
> Overall this means phpMyadmin is not able to connect to MySQL server.
> Do you have MySQL extension configured properly? Also how did you
> install PHP? Look at IIS forum

Used default MySQL settings in php.ini.  phpMyadmin is configured for cookies.
I followed the instructions in the below link for configuring PHP FastCGI on IIS6.
http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/

Thanks,
Tommy

> http://forums.iis.net/p/1163901/1930251.aspx#1930251 where I helped a
> person having a similar problem.
> 
> Thanks,
> Don.
> 
> -----Original Message-----
> From: Tommy Pham [mailto:tommyhp2@xxxxxxxxx]
> Sent: Thursday, April 08, 2010 11:37 AM
> To: php-windows@xxxxxxxxxxxxx
> Subject: [PHP-WIN] FastCGI error with IIS (was Windows binaries)
> 
> Hi,
> 
> Here's the error from phpmyadmin after entering the id & password:
> 
> FastCGI Error
> The FastCGI Handler was unable to process the request.
> -----------------------------------------------------------------------
> ---------
> 
> Error Details:
> 
> •The FastCGI process exceeded configured request timeout
> •Error Number: 258 (0x80070102).
> •Error Description: The wait operation timed out.
> HTTP Error 500 - Server Error.
> Internet Information Services (IIS)
> 
> 
> PHP version is 5.3.2-nts (VC9-x86 build on Mar 3 2010 20:44:33) on
> Win2003r2 x86 (all updates included).
> PHP ini config:
> 
> error_reporting = E_ALL
> display_errors = On
> display_startup_errors = On
> log_errors = On
> log_errors_max_len = 0
> error_log = F:\php-5.3.2-nts\php_errors.log
> 
> cgi.force_redirect = 0
> cgi.fix_pathinfo=1
> fastcgi.impersonate = 1
> 
> 
> MySQL related extensions from phpinfo():
> 
> mysql
> MySQL Support enabled
> Active Persistent Links  0
> Active Links  0
> Client API version  mysqlnd 5.0.7-dev - 091210 - $Revision: 294543 $
> 
> Directive Local Value Master Value
> mysql.allow_local_infile On On
> mysql.allow_persistent On On
> mysql.connect_timeout 60 60
> mysql.default_host no value no value
> mysql.default_password no value no value
> mysql.default_port no value no value
> mysql.default_socket no value no value
> mysql.default_user no value no value
> mysql.max_links Unlimited Unlimited
> mysql.max_persistent Unlimited Unlimited
> mysql.trace_mode Off Off
> 
> 
> mysqli
> MysqlI Support enabled
> Client API library version  mysqlnd 5.0.7-dev - 091210 - $Revision:
> 294543 $
> Active Persistent Links  0
> Inactive Persistent Links  0
> Active Links  0
> 
> Directive Local Value Master Value
> mysqli.allow_local_infile On On
> mysqli.allow_persistent On On
> mysqli.default_host no value no value
> mysqli.default_port 3306 3306
> mysqli.default_pw no value no value
> mysqli.default_socket no value no value
> mysqli.default_user no value no value
> mysqli.max_links Unlimited Unlimited
> mysqli.max_persistent Unlimited Unlimited
> mysqli.reconnect Off Off
> 
> 
> mysqlnd
> mysqlnd enabled
> Version  mysqlnd 5.0.7-dev - 091210 - $Revision: 294543 $
> Compression  supported
> Command buffer size  4096
> Read buffer size  32768
> Read timeout  31536000
> Collecting statistics  Yes
> Collecting memory statistics  No
> 
> Client statistics
> bytes_sent  0
> bytes_received  0
> packets_sent  0
> packets_received  0
> protocol_overhead_in  0
> protocol_overhead_out  0
> bytes_received_ok_packet  0
> bytes_received_eof_packet  0
> bytes_received_rset_header_packet  0
> bytes_received_rset_field_meta_packet  0
> bytes_received_rset_row_packet  0
> bytes_received_prepare_response_packet  0
> bytes_received_change_user_packet  0
> packets_sent_command  0
> packets_received_ok  0
> packets_received_eof  0
> packets_received_rset_header  0
> packets_received_rset_field_meta  0
> packets_received_rset_row  0
> packets_received_prepare_response  0
> packets_received_change_user  0
> result_set_queries  0
> non_result_set_queries  0
> no_index_used  0
> bad_index_used  0
> slow_queries  0
> buffered_sets  0
> unbuffered_sets  0
> ps_buffered_sets  0
> ps_unbuffered_sets  0
> flushed_normal_sets  0
> flushed_ps_sets  0
> ps_prepared_never_executed  0
> ps_prepared_once_executed  0
> rows_fetched_from_server_normal  0
> rows_fetched_from_server_ps  0
> rows_buffered_from_client_normal  0
> rows_buffered_from_client_ps  0
> rows_fetched_from_client_normal_buffered  0
> rows_fetched_from_client_normal_unbuffered  0
> rows_fetched_from_client_ps_buffered  0
> rows_fetched_from_client_ps_unbuffered  0
> rows_fetched_from_client_ps_cursor  0
> rows_affected_normal  0
> rows_affected_ps  0
> rows_skipped_normal  0
> rows_skipped_ps  0
> copy_on_write_saved  0
> copy_on_write_performed  0
> command_buffer_too_small  0
> connect_success  0
> connect_failure  0
> connection_reused  0
> reconnect  0
> pconnect_success  0
> active_connections  0
> active_persistent_connections  0
> explicit_close  0
> implicit_close  0
> disconnect_close  0
> in_middle_of_command_close  0
> explicit_free_result  0
> implicit_free_result  0
> explicit_stmt_close  0
> implicit_stmt_close  0
> mem_emalloc_count  0
> mem_emalloc_ammount  0
> mem_ecalloc_count  0
> mem_ecalloc_ammount  0
> mem_erealloc_count  0
> mem_erealloc_ammount  0
> mem_efree_count  0
> mem_malloc_count  0
> mem_malloc_ammount  0
> mem_calloc_count  0
> mem_calloc_ammount  0
> mem_realloc_count  0
> mem_realloc_ammount  0
> mem_free_count  0
> proto_text_fetched_null  0
> proto_text_fetched_bit  0
> proto_text_fetched_tinyint  0
> proto_text_fetched_short  0
> proto_text_fetched_int24  0
> proto_text_fetched_int  0
> proto_text_fetched_bigint  0
> proto_text_fetched_decimal  0
> proto_text_fetched_float  0
> proto_text_fetched_double  0
> proto_text_fetched_date  0
> proto_text_fetched_year  0
> proto_text_fetched_time  0
> proto_text_fetched_datetime  0
> proto_text_fetched_timestamp  0
> proto_text_fetched_string  0
> proto_text_fetched_blob  0
> proto_text_fetched_enum  0
> proto_text_fetched_set  0
> proto_text_fetched_geometry  0
> proto_text_fetched_other  0
> proto_binary_fetched_null  0
> proto_binary_fetched_bit  0
> proto_binary_fetched_tinyint  0
> proto_binary_fetched_short  0
> proto_binary_fetched_int24  0
> proto_binary_fetched_int  0
> proto_binary_fetched_bigint  0
> proto_binary_fetched_decimal  0
> proto_binary_fetched_float  0
> proto_binary_fetched_double  0
> proto_binary_fetched_date  0
> proto_binary_fetched_year  0
> proto_binary_fetched_time  0
> proto_binary_fetched_datetime  0
> proto_binary_fetched_timestamp  0
> proto_binary_fetched_string  0
> proto_binary_fetched_blob  0
> proto_binary_fetched_enum  0
> proto_binary_fetched_set  0
> proto_binary_fetched_geometry  0
> proto_binary_fetched_other  0
> init_command_executed_count  0
> init_command_failed_count  0
> com_quit  0
> com_init_db  0
> com_query  0
> com_field_list  0
> com_create_db  0
> com_drop_db  0
> com_refresh  0
> com_shutdown  0
> com_statistics  0
> com_process_info  0
> com_connect  0
> com_process_kill  0
> com_debug  0
> com_ping  0
> com_time  0
> com_delayed_insert  0
> com_change_user  0
> com_binlog_dump  0
> com_table_dump  0
> com_connect_out  0
> com_register_slave  0
> com_stmt_prepare  0
> com_stmt_execute  0
> com_stmt_send_long_data  0
> com_stmt_close  0
> com_stmt_reset  0
> com_stmt_set_option  0
> com_stmt_fetch  0
> com_deamon  0
> 
> Regards,
> Tommy
> 
> 
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 



-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


--- Begin Message ---
Hi,

Let me take a shot at explaining this in simple terms. Most of the Operating System today is building support for IPV6. IPV4 has its own set of limitation and hence the world is moving to IPV6. I am not going to explain differences between two, but for the sake of this discussion assume that they are different.

A close look at PHP MySQL driver code indicates that mysql_connect() function uses mysql_real_connect() to connect to MySQL. The API mysql_real_connect() is an API which comes from MySQL dll (MySQL development team and is part of MySQL database installation). So this means the support for IPV6 in PHP MySQL driver is not possible unless there is a support for IPV6 in MySQL database. So the limitation (or no support for IPV6 or whatever word may be used to describe this situation) is coming from MySQL database limitation. So now it is clear that this is not a PHP bug in the sense that nothing can be changed in PHP code base to fix it.

Let's move on to operating system concern now. A typical host file (irrespective of OS) has two columns which contains the IP address and host name binding to it. In order to support both IPV4 and IPV6 (at least on Windows) localhost is getting mapped to two IP addresses. There can be other reasons for mapping same localhost to multiple IP address. What is important is that, there is a case where we have multiple IP address pointing to same host name. A close inspection of MySQL code reveals that the function mysql_real_connect() actually tries to connect to only the first IP address returned for the hostname and if this fails, no further attempt to connect using other IP address associated with same host name is made. This can be fixed and I believe a patch is already lying in some development branch of MySQL and please follow MySQL release to know which version has this fix integrated. I do not have any idea about that. But an important thing is that this bug can surface on any OS where you have above condition satisfied for the host file. Yes WINDOWS, Ubuntu, Solaris all will and may get impacted. So this means that this is not a problem with Windows OS or for that reason any other OS.

Hope this explain things.

Thanks,
Don.


-----Original Message-----
From: Gunawan Wibisono [mailto:landavia81@xxxxxxxxx]
Sent: Sunday, March 07, 2010 7:37 AM
To: php-windows@xxxxxxxxxxxxx; php-db@xxxxxxxxxxxxx
Subject: Re:  Re: [PHP-DB] Cannot connect to MySQL

sry.. this kinda other person problem
thx for your support and I kinda found this problem on other place.. Is
posible.. the problem in the windows 7?

On Sun, Mar 7, 2010 at 12:12 AM, Venkat Raman Don
<Don.Raman@xxxxxxxxxxxxx>wrote:

> Seems like IPV6 functionality of Windows and MySQL driver is not gelling
> well.
>
> Please see http://bugs.php.net/bug.php?id=50172.
> This is also discussed in MySQL forum at
> http://forums.mysql.com/read.php?52,294772,294772#msg-294772.
>
> Thanks,
> Don.
>
>
> -----Original Message-----
> From: Lester Caine [mailto:lester@xxxxxxxxxxx]
> Sent: Saturday, March 06, 2010 9:01 AM
> To: php-windows
> Subject: Re:  Re: [PHP-DB] Cannot connect to MySQL
>
> Gunawan Wibisono wrote:
> > Hello,
> >
> >  First of all, I apologise if I do something wrong, because I'm new to
> this
> >  weird system.
> >
> >  For test purposes, I have installed Apache 2.2.14 with PHP 5.3.1 and
> MySQL
> >  5.1.44 on Windows 7 Home Premium. However, whenever I try accessing
> MySQL
> >  via PHP, I get the following error:
> >
> >  A connection attempt failed because the connected party did not properly
> >  respond after a period of time, or established connection failed because
> >  connected host has failed to respond.
> >
> >  MySQL's command line client is still working fine. I think that PHP
> simply
> >  does not see MySQL, though the settings in php.ini seem to be correct.
> >  Earlier (before I upgraded to Windows 7 and PHP 5.3) it worked. I've
> tried
> >  turning off the antivirus, because sometimes it may cause timeouts, but
> it
> >  didn't help. Can someone please help me fix this?
>
> PHP does not come with any database enabled by default, so you will need to
> enable one. For MySQL just look in php.ini for the line
> ;extension=php_mysql.dll
> and remove the ';' at the front, and then restart Apache.
> The first page you should create is
>
> <?php
> phpinfo();
> ?>
>
> Which will list all the modules that are active ;)
>
>
>
> --
> Lester Caine - G8HFL
> -----------------------------
> Contact - http://lsces.co.uk/wiki/?page=contact
> L.S.Caine Electronic Services - http://lsces.co.uk
> EnquirySolve - http://enquirysolve.com/
> Model Engineers Digital Workshop - http://medw.co.uk//
> Firebird - http://www.firebirdsql.org/index.php
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


--
akan ada dimana mulut terkunci dan suara tak ada lagi..
saat itu gunakanlah HP untuk melakukan SMS!!
-> ini aliran bedul.. bukan aliran aneh.
tertawa sebelum tertawa didepan RSJ..

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




--- End Message ---
-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux