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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: gilad at myheritage dot com
New email:
PHP Version: OS:

 

 [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 06:01:30 2024 UTC