Re: opcache not working on windows
| From: | Nicolai Scheer | Date: | Fri, 16 May 2014 08:01:34 +0000 |
| Subject: | Re: opcache not working on windows | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-74253@lists.php.net to get a copy of this message | ||
Hi again,
seems that I've narrowed it down a bit.
Since fastcgi should just run php-cgi.exe I tried to run php-cgi.exe myself
from the command line.
So I fetched myself the phpinfo stuff in two ways:
php.exe -i > cli.txt
php-cgi.exe -i > cgi.htm
Both files report the opcache as "Up and running". Since apache runs as
local system account it might have something to do with not being able to
create the shared memory realm? But usually the local system account is as
powerful as it gets... I'll try to run it as a different user...
Greetings
Nico
On 16 May 2014 09:54, Nicolai Scheer <nicolai.scheer@gmail.com> wrote:
> Hi,
>
> thanks for your quick response.
>
> I'm using apache 2.2.32 (win32) with mod_fcgid 2.3.7. On top of that I'm
> using stock PHP-5.5.11 (wrong version in my last mail) NTS VC11 as fastcgi.
>
> I enabled opcache for cli, and the same script seems to work when run from
> command line:
>
>
> Array
> (
> [directives] => Array
> (
> [opcache.enable] => 1
> [opcache.enable_cli] => 1
>
> [opcache.use_cwd] => 1
> [opcache.validate_timestamps] => 1
> [opcache.inherited_hack] => 1
> [opcache.dups_fix] =>
> [opcache.revalidate_path] =>
> [opcache.log_verbosity_level] => 4
> [opcache.memory_consumption] => 67108864
> [opcache.interned_strings_buffer] => 8
> [opcache.max_accelerated_files] => 20000
> [opcache.max_wasted_percentage] => 0.05
> [opcache.consistency_checks] => 0
> [opcache.force_restart_timeout] => 180
> [opcache.revalidate_freq] => 2
> [opcache.preferred_memory_model] =>
> [opcache.blacklist_filename] =>
> [opcache.max_file_size] => 0
> [opcache.error_log] =>
> X:\users\common\var\log\php\php_opcache_errors.log
>
> [opcache.protect_memory] =>
> [opcache.save_comments] => 1
> [opcache.load_comments] => 1
> [opcache.fast_shutdown] => 1
> [opcache.enable_file_override] =>
> [opcache.optimization_level] => 2147483647
> )
>
> [version] => Array
> (
> [version] => 7.0.4-dev
> [opcache_product_name] => Zend OPcache
> )
>
> [blacklist] => Array
> (
> )
>
> )
> Array
> (
> [opcache_enabled] => 1
> [cache_full] =>
> [restart_pending] =>
>
> [restart_in_progress] =>
> [memory_usage] => Array
> (
> [used_memory] => 18008464
> [free_memory] => 49100400
> [wasted_memory] => 0
> [current_wasted_percentage] => 0
>
> )
>
> [interned_strings_usage] => Array
> (
> [buffer_size] => 8388608
> [used_memory] => 373344
> [free_memory] => 8015264
> [number_of_strings] => 6652
>
> )
>
> [opcache_statistics] => Array
> (
> [num_cached_scripts] => 2
> [num_cached_keys] => 3
> [max_cached_keys] => 32531
> [hits] => 0
> [start_time] => 1400226468
> [last_restart_time] => 0
>
> [oom_restarts] => 0
> [hash_restarts] => 0
> [manual_restarts] => 0
> [misses] => 2
>
> [blacklist_misses] => 0
> [blacklist_miss_ratio] => 0
> [opcache_hit_rate] => 0
> )
>
> [scripts] => Array
> (
>
> [X:\users\scheer.nicolai\htdocs\branches\opcode\object.class.inc.php] =>
> Array
> (
> [full_path] =>
> X:\users\scheer.nicolai\htdocs\branches\opcode\object.class.inc.php
> [hits] => 0
> [memory_consumption] => 6608256
> [last_used] => Fri May 16 09:47:48 2014
> [last_used_timestamp] => 1400226468
> [timestamp] => 1400154713
> )
>
> [X:\users\scheer.nicolai\htdocs\branches\opcode\opcode.php] =>
> Array
> (
> [full_path] =>
>
> X:\users\scheer.nicolai\htdocs\branches\gemse_current_release\htdocs\wwwroot\__test\opcode\opcode.php
> [hits] => 0
> [memory_consumption] => 1832
> [last_used] => Fri May 16 09:47:48 2014
> [last_used_timestamp] => 1400226468
> [timestamp] => 1400166861
> )
>
> )
>
> )
>
> Here, "opcache_enabled" from the status is 1 and obviously my test class
> gets cached. Of course I need opcache support for the web...
>
> To my mind, using fastcgi, the web server should not play any role in that
> problem, but I might be wrong here.
>
> Greetings
>
> Nico
>
>
>
> On 15 May 2014 20:20, Matt Ficken <themattficken@gmail.com> wrote:
>
>> Which web server and PHP build are you using on Windows?
>>
>> With Apache on Windows, you should be using the TS build of PHP. You said
>> you were using the NTS build, which is what you'd use with IIS.
>>
>> Also, try setting
enable_cli=1
>>
>>
>>
>>
>> On Thu, May 15, 2014 at 6:15 AM, Nicolai Scheer <nicolai.scheer@gmail.com
>> > wrote:
>>
>>> Hi,
>>>
>>> I'm currently testing opcache for php 5.5.12 on linux and windows. Both
>>> platforms are used in conjunction with apache 2.2 and mod_fcgid +
>>> php-fcgi.
>>>
>>> On linux opcache seems to work just fine, but on windows (Windows Server
>>> 2008, php NTS, VC11 binary) it does not seem to work.
>>>
>>> If I dump the settings I get:
>>>
>>> Array
>>> (
>>> [directives] => Array
>>> (
>>> [opcache.enable] => 1
>>> [opcache.enable_cli] =>
>>> [opcache.use_cwd] => 1
>>> [opcache.validate_timestamps] => 1
>>> [opcache.inherited_hack] => 1
>>> [opcache.dups_fix] =>
>>> [opcache.revalidate_path] =>
>>> [opcache.log_verbosity_level] => 4
>>> [opcache.memory_consumption] => 67108864
>>> [opcache.interned_strings_buffer] => 8
>>> [opcache.max_accelerated_files] => 20000
>>> [opcache.max_wasted_percentage] => 0.05
>>> [opcache.consistency_checks] => 0
>>> [opcache.force_restart_timeout] => 180
>>> [opcache.revalidate_freq] => 2
>>> [opcache.preferred_memory_model] =>
>>> [opcache.blacklist_filename] =>
>>> [opcache.max_file_size] => 0
>>> [opcache.error_log] =>
>>> [opcache.protect_memory] =>
>>> [opcache.save_comments] => 1
>>> [opcache.load_comments] => 1
>>> [opcache.fast_shutdown] => 1
>>> [opcache.enable_file_override] =>
>>> [opcache.optimization_level] => 2147483647
>>> )
>>>
>>> [version] => Array
>>> (
>>> [version] => 7.0.4-dev
>>> [opcache_product_name] => Zend OPcache
>>> )
>>>
>>> [blacklist] => Array
>>> (
>>> )
>>>
>>> )
>>>
>>> But dumping the status shows that the cache is not enabled:
>>>
>>>
>>> Array
>>> (
>>> [opcache_enabled] =>
>>> [cache_full] => 1
>>> [restart_pending] => 1
>>> [restart_in_progress] =>
>>> [memory_usage] => Array
>>> (
>>> [used_memory] => 63439832
>>> [free_memory] => 48
>>> [wasted_memory] => 3668984
>>> [current_wasted_percentage] => 5.4672122001648
>>> )
>>>
>>> [interned_strings_usage] => Array
>>> (
>>> [buffer_size] => 4194304
>>> [used_memory] => 2549912
>>> [free_memory] => 1644392
>>> [number_of_strings] => 83780
>>> )
>>>
>>> [opcache_statistics] => Array
>>> (
>>> [num_cached_scripts] => 328
>>> [num_cached_keys] => 700
>>> [max_cached_keys] => 32531
>>> [hits] => 221276
>>> [start_time] => 1397470295
>>> [last_restart_time] => 1397480294
>>> [oom_restarts] => 1
>>> [hash_restarts] => 0
>>> [manual_restarts] => 0
>>> [misses] => 3071052
>>> [blacklist_misses] => 0
>>> [blacklist_miss_ratio] => 0
>>> [opcache_hit_rate] => 6.7209585436202
>>> )
>>>
>>> )
>>>
>>> The phpinfo page also shows all opcache settings and lists "Opcode
>>> Caching" as "Disabled".
>>>
>>> Maybe I'm overseeing something here.
>>>
>>> Any hints on what could be wrong?
>>>
>>> Greetings
>>>
>>> Nico
>>>
>>
>>
>