php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #57578 Cannot get APC to work with Fastcgi on Windows
Submitted: 2007-03-19 01:10 UTC Modified: 2014-02-28 12:40 UTC
From: gilad at myheritage dot com Assigned: krakjoe (profile)
Status: Closed Package: APC (PECL)
PHP Version: 5.2.1 OS: Windows 2003
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
45 + 23 = ?
Subscribe to this entry?

 
 [2007-03-19 01:10 UTC] gilad at myheritage dot com
Description:
------------
Our Windows 2003 is happily running PHP 5, Apache 2 and Fastcgi configured for 100 php-cgi.exe processes.
I am trying to add APC for better performance.

From this site: http://pecl4win.php.net/ext.php/php_apc.dll
I downloaded APC for PHP 5.2.1 and upgraded my PHP to 5.2.1. The behavior I'm getting is that any requests for PHP files submitted to the Apache server get stuck and there is no output. If I turn off loading php_apc.dll in the php.ini, it works fine. I got the same problem when using PHP 5.1.6 and the applicable php_apc.dll compiled for that version of PHP.
As an experiment, with PHP 5.1.6, I ran the same configuration without fastcgi, and APC worked and exhibited a significant performance boost.
So the bug is that on Windows 2003 running Apache2, APC and Fastcgi appear to be incompatible. Either one works, but not both. This is a shame because PHP is really unusable on Windows without Fastcgi (too unstable), as well as being very slow to run without APC.


Reproduce code:
---------------
In my tests I was using the following config in php.ini
extension=php_apc.dll
apc.enabled=1;
apc.shm_segments=1;
apc.shm_size=30; 
apc.optimization=0;
apc.num_files_hint=5000;
apc.ttl=3600;
apc.gc_ttl=3600;
apc.cache_by_default=1;
; apc.filters
;apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.slam_defense=0;
apc.file_update_protection=2;
apc.enable_cli=0;
apc.max_file_size=1M;
apc.stat=1; 

and the following in Apache's httpd.conf:

FastCgiServer "c:/program files/apache group/apache2/htdocs/phpc/php-cgi.exe" -processes 100 -idle-timeout 600 
AddHandler php-fastcgi .php
Action php-fastcgi "/phpc/php-cgi.exe"


My tests were still unsuccessful also with this line enabled:
apc.mmap_file_mask = /tmp/apc.XXXXXX


My tests were still unsuccessful with fastcgi configured to run just one php process.

Expected result:
----------------
Expected php to work.

Actual result:
--------------
No output, as if php is stuck. No evidence in Apache's error log or anywhere else, for the problem.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-02-28 12:40 UTC] krakjoe@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: krakjoe
 [2014-02-28 12:40 UTC] krakjoe@php.net
Closing this bug for several reasons:

 5.2 is no longer supported software.
 APC is no longer the primary means of caching opcodes.

Thanks for helping to make PHP better :)
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 23 09:01:27 2024 UTC