mirror of
https://github.com/php/php-src.git
synced 2026-04-04 22:52:40 +02:00
"ZendOptimizerPlus" is renamed to "opcache" to de merged into PHP-5.5 under ext/opcache (the product name is still "Zend Optimizer+")
This commit is contained in:
68
README
68
README
@@ -42,19 +42,19 @@ Speed Tuning
|
||||
|
||||
We recommend the following configuration options for best performance.
|
||||
|
||||
zend_optimizerplus.memory_consumption=128
|
||||
zend_optimizerplus.interned_strings_buffer=8
|
||||
zend_optimizerplus.max_accelerated_files=4000
|
||||
zend_optimizerplus.revalidate_freq=60
|
||||
zend_optimizerplus.fast_shutdown=1
|
||||
zend_optimizerplus.enable_cli=1
|
||||
opcache.memory_consumption=128
|
||||
opcache.interned_strings_buffer=8
|
||||
opcache.max_accelerated_files=4000
|
||||
opcache.revalidate_freq=60
|
||||
opcache.fast_shutdown=1
|
||||
opcache.enable_cli=1
|
||||
|
||||
You also may add the following, but it may break some applications and
|
||||
frameworks. Please, read description of these directives and add them on your
|
||||
own risk.
|
||||
|
||||
zend_optimizerplus.save_comments=0
|
||||
zend_optimizerplus.enable_file_override=1
|
||||
opcache.save_comments=0
|
||||
opcache.enable_file_override=1
|
||||
|
||||
In some cases you may like to prefer enabling/disabling some features
|
||||
to avoid incompatibilities at the cost of some performance degradation.
|
||||
@@ -62,44 +62,44 @@ to avoid incompatibilities at the cost of some performance degradation.
|
||||
Configuration Directives
|
||||
------------------------
|
||||
|
||||
zend_optimizerplus.enable (default "1")
|
||||
opcache.enable (default "1")
|
||||
Optimizer+ On/Off switch. When set to Off, code is not optimized.
|
||||
|
||||
zend_optimizerplus.memory_consumption (default "64")
|
||||
opcache.memory_consumption (default "64")
|
||||
The Optimizer+ shared memory storage size. The amount of memory for storing
|
||||
precompiled PHP code in Mbytes.
|
||||
|
||||
zend_optimizerplus.interned_strings_buffer (default "4")
|
||||
opcache.interned_strings_buffer (default "4")
|
||||
The amount of memory for interned strings in Mbytes.
|
||||
|
||||
zend_optimizerplus.max_accelerated_files (default "2000")
|
||||
opcache.max_accelerated_files (default "2000")
|
||||
The maximum number of keys (scripts) in the Optimizer+ hash table.
|
||||
The number is actually the first one in the following set of prime
|
||||
numbers that is bigger than the one supplied: { 223, 463, 983, 1979, 3907,
|
||||
7963, 16229, 32531, 65407, 130987 }. Only numbers between 200 and 100000
|
||||
are allowed.
|
||||
|
||||
zend_optimizerplus.max_wasted_percentage (default "5")
|
||||
opcache.max_wasted_percentage (default "5")
|
||||
The maximum percentage of "wasted" memory until a restart is scheduled.
|
||||
|
||||
zend_optimizerplus.use_cwd (default "1")
|
||||
opcache.use_cwd (default "1")
|
||||
When this directive is enabled, the Optimizer+ appends the current working
|
||||
directory to the script key, thus eliminating possible collisions between
|
||||
files with the same name (basename). Disabling the directive improves
|
||||
performance, but may break existing applications.
|
||||
|
||||
zend_optimizerplus.validate_timestamps (default "1")
|
||||
opcache.validate_timestamps (default "1")
|
||||
When disabled, you must reset the Optimizer+ manually or restart the
|
||||
webserver for changes to the filesystem to take effect.
|
||||
The frequency of the check is controlled by the directive
|
||||
"zend_optimizerplus.revalidate_freq".
|
||||
"opcache.revalidate_freq".
|
||||
|
||||
zend_optimizerplus.revalidate_freq (default "2")
|
||||
opcache.revalidate_freq (default "2")
|
||||
How often (in seconds) to check file timestamps for changes to the shared
|
||||
memory storage allocation. ("1" means validate once per second, but only
|
||||
once per request. "0" means always validate)
|
||||
|
||||
zend_optimizerplus.revalidate_path (default "0")
|
||||
opcache.revalidate_path (default "0")
|
||||
Enables or disables file search in include_path optimization
|
||||
If the file search is disabled and a cached file is found that uses
|
||||
the same include_path, the file is not searched again. Thus, if a file
|
||||
@@ -108,29 +108,29 @@ zend_optimizerplus.revalidate_path (default "0")
|
||||
your applications. The default for this directive is disabled, which means
|
||||
that optimization is active.
|
||||
|
||||
zend_optimizerplus.save_comments (default "1")
|
||||
opcache.save_comments (default "1")
|
||||
If disabled, all PHPDoc comments are dropped from the code to reduce the
|
||||
size of the optimized code. Disabling "Doc Comments" may break some
|
||||
existing applications and frameworks (e.g. Doctrine, ZF2, PHPUnit)
|
||||
|
||||
zend_optimizerplus.load_comments (default "1")
|
||||
opcache.load_comments (default "1")
|
||||
If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
|
||||
may be always stored (save_comments=1), but not loaded by applications
|
||||
that don't need them anyway.
|
||||
|
||||
zend_optimizerplus.fast_shutdown (default "0")
|
||||
opcache.fast_shutdown (default "0")
|
||||
If enabled, a fast shutdown sequence is used for the accelerated code
|
||||
The fast shutdown sequence doesn't free each allocated block, but lets
|
||||
the Zend Engine Memory Manager do the work.
|
||||
|
||||
zend_optimizerplus.enable_file_override (default "0")
|
||||
opcache.enable_file_override (default "0")
|
||||
Allow file existence override (file_exists, etc.) performance feature.
|
||||
|
||||
zend_optimizerplus.optimization_level (default "0xffffffff")
|
||||
opcache.optimization_level (default "0xffffffff")
|
||||
A bitmask, where each bit enables or disables the appropriate Optimizer+
|
||||
passes
|
||||
|
||||
zend_optimizerplus.inherited_hack (default "1")
|
||||
opcache.inherited_hack (default "1")
|
||||
Enable this hack as a workaround for "can't redeclare class" errors.
|
||||
The Optimizer+ stores the places where DECLARE_CLASS opcodes use
|
||||
inheritance (These are the only opcodes that can be executed by PHP,
|
||||
@@ -143,10 +143,10 @@ zend_optimizerplus.inherited_hack (default "1")
|
||||
that optimization is active. In php-5.3 and above this hack is not needed
|
||||
anymore and this setting has no effect.
|
||||
|
||||
zend_optimizerplus.dups_fix (default "0")
|
||||
opcache.dups_fix (default "0")
|
||||
Enable this hack as a workaround for "Cannot redeclare class" errors.
|
||||
|
||||
zend_optimizerplus.blacklist_filename
|
||||
opcache.blacklist_filename
|
||||
The location of the Optimizer+ blacklist file.
|
||||
The Optimizer+ blacklist file is a text file that holds the names of files
|
||||
that should not be accelerated. The file format is to add each filename
|
||||
@@ -159,17 +159,17 @@ zend_optimizerplus.blacklist_filename
|
||||
compile time evaluation.
|
||||
3) Code that triggers an Optimizer+ bug.
|
||||
|
||||
zend_optimizerplus.max_file_size (default "0")
|
||||
opcache.max_file_size (default "0")
|
||||
Allows exclusion of large files from being cached. By default all files
|
||||
are cached.
|
||||
|
||||
zend_optimizerplus.consistency_checks (default "0")
|
||||
opcache.consistency_checks (default "0")
|
||||
Check the cache checksum each N requests.
|
||||
The default value of "0" means that the checks are disabled.
|
||||
Because calculating the checksum impairs performance, this directive should
|
||||
be enabled only as part of a debugging process.
|
||||
|
||||
zend_optimizerplus.force_restart_timeout (default "180")
|
||||
opcache.force_restart_timeout (default "180")
|
||||
How long to wait (in seconds) for a scheduled restart to begin if the cache
|
||||
is not being accessed.
|
||||
The Optimizer+ uses this directive to identify a situation where there may
|
||||
@@ -179,23 +179,23 @@ zend_optimizerplus.force_restart_timeout (default "180")
|
||||
If the log level is 3 or above, a "killed locker" error is recorded
|
||||
in the Apache logs when this happens.
|
||||
|
||||
zend_optimizerplus.error_log
|
||||
opcache.error_log
|
||||
Optimizer+ error_log file name. Empty string assumes "stderr".
|
||||
|
||||
zend_optimizerplus.log_verbosity_level (default "1")
|
||||
opcache.log_verbosity_level (default "1")
|
||||
All Optimizer+ errors go to the Web server log.
|
||||
By default, only fatal errors (level 0) or errors (level 1) are logged.
|
||||
You can also enable warnings (level 2), info messages (level 3) or
|
||||
debug messages (level 4).
|
||||
|
||||
zend_optimizerplus.preferred_memory_model
|
||||
opcache.preferred_memory_model
|
||||
Preferred Shared Memory back-end. Leave empty and let the system decide.
|
||||
|
||||
zend_optimizerplus.protect_memory (default "0")
|
||||
opcache.protect_memory (default "0")
|
||||
Protect the shared memory from unexpected writing during script execution.
|
||||
Useful for internal debugging only.
|
||||
|
||||
zend_optimizerplus.mmap_base
|
||||
opcache.mmap_base
|
||||
Mapping base of shared memory segments (for Windows only). All the PHP
|
||||
processes have to map shared memory into the same address space. This
|
||||
directive allows to manually fix the "Unable to reattach to base address"
|
||||
|
||||
@@ -913,7 +913,7 @@ char *accel_make_persistent_key_ex(zend_file_handle *file_handle, int path_lengt
|
||||
|
||||
if ((cwd = accel_getcwd(&cwd_len TSRMLS_CC)) == NULL) {
|
||||
/* we don't handle this well for now. */
|
||||
zend_accel_error(ACCEL_LOG_INFO, "getcwd() failed for '%s' (%d), please try to set zend_optimizerplus.use_cwd to 0 in ini file", file_handle->filename, errno);
|
||||
zend_accel_error(ACCEL_LOG_INFO, "getcwd() failed for '%s' (%d), please try to set opcache.use_cwd to 0 in ini file", file_handle->filename, errno);
|
||||
if (file_handle->opened_path) {
|
||||
cwd = file_handle->opened_path;
|
||||
cwd_len = strlen(cwd);
|
||||
|
||||
@@ -2,11 +2,10 @@ dnl
|
||||
dnl $Id$
|
||||
dnl
|
||||
|
||||
PHP_ARG_ENABLE(optimizer-plus, whether to enable Zend OptimizerPlus support,
|
||||
[ --enable-optimizer-plus Enable Zend OptimizerPlus support])
|
||||
PHP_ARG_ENABLE(opcache, whether to enable Zend Optimizer+ support,
|
||||
[ --enable-opcache Enable Zend Optimizer+ support])
|
||||
|
||||
if test "$PHP_OPTIMIZER_PLUS" != "no"; then
|
||||
AC_DEFINE(HAVE_OPTIMIZER_PLUS, 1, [ ])
|
||||
if test "$PHP_OPCACHE" != "no"; then
|
||||
|
||||
AC_CHECK_FUNC(mprotect,[
|
||||
AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function])
|
||||
@@ -327,7 +326,7 @@ int main() {
|
||||
msg=yes,msg=no,msg=no)
|
||||
AC_MSG_RESULT([$msg])
|
||||
|
||||
PHP_NEW_EXTENSION(ZendOptimizerPlus,
|
||||
PHP_NEW_EXTENSION(opcache,
|
||||
ZendAccelerator.c \
|
||||
zend_accelerator_blacklist.c \
|
||||
zend_accelerator_debug.c \
|
||||
|
||||
13
config.w32
13
config.w32
@@ -1,11 +1,11 @@
|
||||
ARG_ENABLE("optimizer-plus", "whether to enable Zend OptimizerPlus support", "yes");
|
||||
ARG_ENABLE("opcache", "whether to enable Zend Optimizer+ support", "yes");
|
||||
|
||||
if (PHP_OPTIMIZER_PLUS != "no") {
|
||||
if (PHP_OPCACHE != "no") {
|
||||
|
||||
PHP_PGI = "no"; // workaround
|
||||
PHP_PGO = "no"; // workaround
|
||||
|
||||
EXTENSION('ZendOptimizerPlus', "\
|
||||
EXTENSION('opcache', "\
|
||||
ZendAccelerator.c \
|
||||
zend_accelerator_blacklist.c \
|
||||
zend_accelerator_debug.c \
|
||||
@@ -17,12 +17,11 @@ if (PHP_OPTIMIZER_PLUS != "no") {
|
||||
zend_shared_alloc.c \
|
||||
shared_alloc_win32.c", true);
|
||||
|
||||
ADD_SOURCES(configure_module_dirname + "/Optimizer", "zend_optimizer.c", "ZendOptimizerPlus", "OptimizerObj");
|
||||
ADD_SOURCES(configure_module_dirname + "/Optimizer", "zend_optimizer.c", "opcache", "OptimizerObj");
|
||||
|
||||
|
||||
ADD_FLAG('CFLAGS_ZENDOPTIMIZERPLUS', "/I " + configure_module_dirname);
|
||||
ADD_FLAG('CFLAGS_ZENDOPTIMIZERPLUS', "/D HAVE_OPTIMIZER_PLUS=1");
|
||||
ADD_FLAG('CFLAGS_OPCACHE', "/I " + configure_module_dirname);
|
||||
|
||||
ADD_FLAG('CFLAGS_ZENDOPTIMIZERPLUS', "/Dregexec=php_regexec /Dregerror=php_regerror /Dregfree=php_regfree /Dregcomp=php_regcomp /Iext/ereg/regex");
|
||||
ADD_FLAG('CFLAGS_OPCACHE', "/Dregexec=php_regexec /Dregerror=php_regerror /Dregfree=php_regfree /Dregcomp=php_regcomp /Iext/ereg/regex");
|
||||
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ static int create_segments(size_t requested_size, zend_shared_segment ***shared_
|
||||
}
|
||||
if (sscanf(s, "%p", &default_mapping_base_set[0]) != 1) {
|
||||
zend_shared_alloc_unlock_win32();
|
||||
zend_win_error_message(ACCEL_LOG_FATAL, "Bad mapping address specified in zend_optimizerplus.mmap_base", err);
|
||||
zend_win_error_message(ACCEL_LOG_FATAL, "Bad mapping address specified in opcache.mmap_base", err);
|
||||
return ALLOC_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,18 +38,18 @@
|
||||
#define TOKENTOSTR(X) #X
|
||||
|
||||
/* User functions */
|
||||
static ZEND_FUNCTION(accelerator_reset);
|
||||
static ZEND_FUNCTION(opcache_reset);
|
||||
|
||||
/* Private functions */
|
||||
static ZEND_FUNCTION(accelerator_get_status);
|
||||
static ZEND_FUNCTION(accelerator_get_configuration);
|
||||
static ZEND_FUNCTION(opcache_get_status);
|
||||
static ZEND_FUNCTION(opcache_get_configuration);
|
||||
|
||||
static zend_function_entry accel_functions[] = {
|
||||
/* User functions */
|
||||
ZEND_FE(accelerator_reset, NULL)
|
||||
ZEND_FE(opcache_reset, NULL)
|
||||
/* Private functions */
|
||||
ZEND_FE(accelerator_get_configuration, NULL)
|
||||
ZEND_FE(accelerator_get_status, NULL)
|
||||
ZEND_FE(opcache_get_configuration, NULL)
|
||||
ZEND_FE(opcache_get_status, NULL)
|
||||
{ NULL, NULL, NULL, 0, 0 }
|
||||
};
|
||||
|
||||
@@ -74,12 +74,12 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption)
|
||||
zend_ini_entry *ini_entry;
|
||||
|
||||
memsize = 8;
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "zend_optimizerplus.memory_consumption is set below the required 8MB.\n");
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "opcache.memory_consumption is set below the required 8MB.\n");
|
||||
zend_accel_error(ACCEL_LOG_WARNING, ACCELERATOR_PRODUCT_NAME " will use the minimal 8MB configuration.\n");
|
||||
|
||||
if (zend_hash_find(EG(ini_directives),
|
||||
"zend_optimizerplus.memory_consumption",
|
||||
sizeof("zend_optimizerplus.memory_consumption"),
|
||||
"opcache.memory_consumption",
|
||||
sizeof("opcache.memory_consumption"),
|
||||
(void *) &ini_entry) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
@@ -115,18 +115,18 @@ static ZEND_INI_MH(OnUpdateMaxAcceleratedFiles)
|
||||
if (size < MIN_ACCEL_FILES) {
|
||||
size = MIN_ACCEL_FILES;
|
||||
new_new_value = TOKENTOSTR(MIN_ACCEL_FILES);
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "zend_optimizerplus.max_accelerated_files is set below the required minimum (%d).\n", MIN_ACCEL_FILES);
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "opcache.max_accelerated_files is set below the required minimum (%d).\n", MIN_ACCEL_FILES);
|
||||
zend_accel_error(ACCEL_LOG_WARNING, ACCELERATOR_PRODUCT_NAME " will use the minimal configuration.\n");
|
||||
}
|
||||
if (size > MAX_ACCEL_FILES) {
|
||||
size = MAX_ACCEL_FILES;
|
||||
new_new_value = TOKENTOSTR(MAX_ACCEL_FILES);
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "zend_optimizerplus.max_accelerated_files is set above the limit (%d).\n", MAX_ACCEL_FILES);
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "opcache.max_accelerated_files is set above the limit (%d).\n", MAX_ACCEL_FILES);
|
||||
zend_accel_error(ACCEL_LOG_WARNING, ACCELERATOR_PRODUCT_NAME " will use the maximal configuration.\n");
|
||||
}
|
||||
if (zend_hash_find(EG(ini_directives),
|
||||
"zend_optimizerplus.max_accelerated_files",
|
||||
sizeof("zend_optimizerplus.max_accelerated_files"),
|
||||
"opcache.max_accelerated_files",
|
||||
sizeof("opcache.max_accelerated_files"),
|
||||
(void *) &ini_entry) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
@@ -158,11 +158,11 @@ static ZEND_INI_MH(OnUpdateMaxWastedPercentage)
|
||||
zend_ini_entry *ini_entry;
|
||||
|
||||
percentage = 5;
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "zend_optimizerplus.max_wasted_percentage must be set between 1 and 50.\n");
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "opcache.max_wasted_percentage must be set between 1 and 50.\n");
|
||||
zend_accel_error(ACCEL_LOG_WARNING, ACCELERATOR_PRODUCT_NAME " will use 5%.\n");
|
||||
if (zend_hash_find(EG(ini_directives),
|
||||
"zend_optimizerplus.max_wasted_percentage",
|
||||
sizeof("zend_optimizerplus.max_wasted_percentage"),
|
||||
"opcache.max_wasted_percentage",
|
||||
sizeof("opcache.max_wasted_percentage"),
|
||||
(void *) &ini_entry) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
@@ -199,39 +199,39 @@ static ZEND_INI_MH(OnUpdateAccelBlacklist)
|
||||
}
|
||||
|
||||
ZEND_INI_BEGIN()
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.enable" , "1", PHP_INI_SYSTEM, OnUpdateBool, enabled , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.use_cwd" , "1", PHP_INI_SYSTEM, OnUpdateBool, accel_directives.use_cwd , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.validate_timestamps", "1", PHP_INI_ALL , OnUpdateBool, accel_directives.validate_timestamps, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.inherited_hack" , "1", PHP_INI_SYSTEM, OnUpdateBool, accel_directives.inherited_hack , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.dups_fix" , "0", PHP_INI_ALL , OnUpdateBool, accel_directives.ignore_dups , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.revalidate_path" , "0", PHP_INI_ALL , OnUpdateBool, accel_directives.revalidate_path , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.enable" , "1", PHP_INI_SYSTEM, OnUpdateBool, enabled , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.use_cwd" , "1", PHP_INI_SYSTEM, OnUpdateBool, accel_directives.use_cwd , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.validate_timestamps", "1", PHP_INI_ALL , OnUpdateBool, accel_directives.validate_timestamps, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.inherited_hack" , "1", PHP_INI_SYSTEM, OnUpdateBool, accel_directives.inherited_hack , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.dups_fix" , "0", PHP_INI_ALL , OnUpdateBool, accel_directives.ignore_dups , zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.revalidate_path" , "0", PHP_INI_ALL , OnUpdateBool, accel_directives.revalidate_path , zend_accel_globals, accel_globals)
|
||||
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.log_verbosity_level" , "1" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.log_verbosity_level, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.memory_consumption" , "64" , PHP_INI_SYSTEM, OnUpdateMemoryConsumption, accel_directives.memory_consumption, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.log_verbosity_level" , "1" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.log_verbosity_level, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.memory_consumption" , "64" , PHP_INI_SYSTEM, OnUpdateMemoryConsumption, accel_directives.memory_consumption, zend_accel_globals, accel_globals)
|
||||
#if ZEND_EXTENSION_API_NO > PHP_5_3_X_API_NO
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.interned_strings_buffer", "4" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.interned_strings_buffer, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.interned_strings_buffer", "4" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.interned_strings_buffer, zend_accel_globals, accel_globals)
|
||||
#endif
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.max_accelerated_files" , "2000", PHP_INI_SYSTEM, OnUpdateMaxAcceleratedFiles, accel_directives.max_accelerated_files, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.max_wasted_percentage" , "5" , PHP_INI_SYSTEM, OnUpdateMaxWastedPercentage, accel_directives.max_wasted_percentage, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.consistency_checks" , "0" , PHP_INI_ALL , OnUpdateLong, accel_directives.consistency_checks, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.force_restart_timeout" , "180" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.force_restart_timeout, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.revalidate_freq" , "2" , PHP_INI_ALL , OnUpdateLong, accel_directives.revalidate_freq, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.preferred_memory_model", "" , PHP_INI_SYSTEM, OnUpdateStringUnempty, accel_directives.memory_model, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.blacklist_filename" , "" , PHP_INI_SYSTEM, OnUpdateAccelBlacklist, accel_directives.user_blacklist_filename, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.max_file_size" , "0" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.max_file_size, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.max_accelerated_files" , "2000", PHP_INI_SYSTEM, OnUpdateMaxAcceleratedFiles, accel_directives.max_accelerated_files, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.max_wasted_percentage" , "5" , PHP_INI_SYSTEM, OnUpdateMaxWastedPercentage, accel_directives.max_wasted_percentage, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.consistency_checks" , "0" , PHP_INI_ALL , OnUpdateLong, accel_directives.consistency_checks, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.force_restart_timeout" , "180" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.force_restart_timeout, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.revalidate_freq" , "2" , PHP_INI_ALL , OnUpdateLong, accel_directives.revalidate_freq, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.preferred_memory_model", "" , PHP_INI_SYSTEM, OnUpdateStringUnempty, accel_directives.memory_model, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.blacklist_filename" , "" , PHP_INI_SYSTEM, OnUpdateAccelBlacklist, accel_directives.user_blacklist_filename, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.max_file_size" , "0" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.max_file_size, zend_accel_globals, accel_globals)
|
||||
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.protect_memory" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.protect_memory, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.save_comments" , "1" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.save_comments, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.load_comments" , "1" , PHP_INI_ALL, OnUpdateBool, accel_directives.load_comments, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.fast_shutdown" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.fast_shutdown, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.protect_memory" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.protect_memory, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.save_comments" , "1" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.save_comments, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.load_comments" , "1" , PHP_INI_ALL, OnUpdateBool, accel_directives.load_comments, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.fast_shutdown" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.fast_shutdown, zend_accel_globals, accel_globals)
|
||||
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.optimization_level" , DEFAULT_OPTIMIZATION_LEVEL , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.optimization_level, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.enable_file_override" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.file_override_enabled, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("zend_optimizerplus.enable_cli" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.enable_cli, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.error_log" , "" , PHP_INI_SYSTEM, OnUpdateString, accel_directives.error_log, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.optimization_level" , DEFAULT_OPTIMIZATION_LEVEL , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.optimization_level, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.enable_file_override" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.file_override_enabled, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_BOOLEAN("opcache.enable_cli" , "0" , PHP_INI_SYSTEM, OnUpdateBool, accel_directives.enable_cli, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.error_log" , "" , PHP_INI_SYSTEM, OnUpdateString, accel_directives.error_log, zend_accel_globals, accel_globals)
|
||||
|
||||
#ifdef ZEND_WIN32
|
||||
STD_PHP_INI_ENTRY("zend_optimizerplus.mmap_base", NULL, PHP_INI_SYSTEM, OnUpdateString, accel_directives.mmap_base, zend_accel_globals, accel_globals)
|
||||
STD_PHP_INI_ENTRY("opcache.mmap_base", NULL, PHP_INI_SYSTEM, OnUpdateString, accel_directives.mmap_base, zend_accel_globals, accel_globals)
|
||||
#endif
|
||||
ZEND_INI_END()
|
||||
|
||||
@@ -459,7 +459,7 @@ static zval* accelerator_get_scripts(TSRMLS_D)
|
||||
|
||||
/* {{{ proto array accelerator_get_status()
|
||||
Obtain statistics information regarding code acceleration in the Zend Performance Suite */
|
||||
static ZEND_FUNCTION(accelerator_get_status)
|
||||
static ZEND_FUNCTION(opcache_get_status)
|
||||
{
|
||||
long reqs;
|
||||
zval *memory_usage,*statistics,*scripts;
|
||||
@@ -480,7 +480,7 @@ static ZEND_FUNCTION(accelerator_get_status)
|
||||
array_init(return_value);
|
||||
|
||||
/* Trivia */
|
||||
add_assoc_bool(return_value, "accelerator_enabled", 1 /*ZCG(enabled) && accel_startup_ok && ZCSG(accelerator_enabled)*/);
|
||||
add_assoc_bool(return_value, "opcache_enabled", 1 /*ZCG(enabled) && accel_startup_ok && ZCSG(accelerator_enabled)*/);
|
||||
add_assoc_bool(return_value, "cache_full", ZSMMG(memory_exhausted));
|
||||
|
||||
/* Memory usage statistics */
|
||||
@@ -504,8 +504,8 @@ static ZEND_FUNCTION(accelerator_get_status)
|
||||
add_assoc_long(statistics, "blacklist_misses", ZCSG(blacklist_misses));
|
||||
reqs = ZCSG(hits)+ZCSG(misses);
|
||||
add_assoc_double(statistics, "blacklist_miss_ratio", reqs?(((double) ZCSG(blacklist_misses))/reqs)*100.0:0);
|
||||
add_assoc_double(statistics, "accelerator_hit_rate", reqs?(((double) ZCSG(hits))/reqs)*100.0:0);
|
||||
add_assoc_zval(return_value, "accelerator_statistics", statistics);
|
||||
add_assoc_double(statistics, "opcache_hit_rate", reqs?(((double) ZCSG(hits))/reqs)*100.0:0);
|
||||
add_assoc_zval(return_value, "opcache_statistics", statistics);
|
||||
|
||||
/* accelerated scripts */
|
||||
scripts = accelerator_get_scripts(TSRMLS_C);
|
||||
@@ -522,7 +522,7 @@ static int add_blacklist_path(zend_blacklist_entry *p, zval *return_value TSRMLS
|
||||
|
||||
/* {{{ proto array accelerator_get_configuration()
|
||||
Obtain configuration information for the Zend Performance Suite */
|
||||
static ZEND_FUNCTION(accelerator_get_configuration)
|
||||
static ZEND_FUNCTION(opcache_get_configuration)
|
||||
{
|
||||
zval *directives,*version,*blacklist;
|
||||
|
||||
@@ -540,35 +540,35 @@ static ZEND_FUNCTION(accelerator_get_configuration)
|
||||
/* directives */
|
||||
MAKE_STD_ZVAL(directives);
|
||||
array_init(directives);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.enable", ZCG(enabled));
|
||||
add_assoc_bool(directives, "zend_optimizerplus.enable_cli", ZCG(accel_directives).enable_cli);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.use_cwd", ZCG(accel_directives).use_cwd);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.validate_timestamps", ZCG(accel_directives).validate_timestamps);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.inherited_hack", ZCG(accel_directives).inherited_hack);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.dups_fix", ZCG(accel_directives).ignore_dups);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.revalidate_path", ZCG(accel_directives).revalidate_path);
|
||||
add_assoc_bool(directives, "opcache.enable", ZCG(enabled));
|
||||
add_assoc_bool(directives, "opcache.enable_cli", ZCG(accel_directives).enable_cli);
|
||||
add_assoc_bool(directives, "opcache.use_cwd", ZCG(accel_directives).use_cwd);
|
||||
add_assoc_bool(directives, "opcache.validate_timestamps", ZCG(accel_directives).validate_timestamps);
|
||||
add_assoc_bool(directives, "opcache.inherited_hack", ZCG(accel_directives).inherited_hack);
|
||||
add_assoc_bool(directives, "opcache.dups_fix", ZCG(accel_directives).ignore_dups);
|
||||
add_assoc_bool(directives, "opcache.revalidate_path", ZCG(accel_directives).revalidate_path);
|
||||
|
||||
add_assoc_long(directives, "zend_optimizerplus.log_verbosity_level", ZCG(accel_directives).log_verbosity_level);
|
||||
add_assoc_long(directives, "zend_optimizerplus.memory_consumption", ZCG(accel_directives).memory_consumption);
|
||||
add_assoc_long(directives, "opcache.log_verbosity_level", ZCG(accel_directives).log_verbosity_level);
|
||||
add_assoc_long(directives, "opcache.memory_consumption", ZCG(accel_directives).memory_consumption);
|
||||
#if ZEND_EXTENSION_API_NO > PHP_5_3_X_API_NO
|
||||
add_assoc_long(directives, "zend_optimizerplus.interned_strings_buffer",ZCG(accel_directives).interned_strings_buffer);
|
||||
add_assoc_long(directives, "opcache.interned_strings_buffer",ZCG(accel_directives).interned_strings_buffer);
|
||||
#endif
|
||||
add_assoc_long(directives, "zend_optimizerplus.max_accelerated_files", ZCG(accel_directives).max_accelerated_files);
|
||||
add_assoc_double(directives, "zend_optimizerplus.max_wasted_percentage", ZCG(accel_directives).max_wasted_percentage);
|
||||
add_assoc_long(directives, "zend_optimizerplus.consistency_checks", ZCG(accel_directives).consistency_checks);
|
||||
add_assoc_long(directives, "zend_optimizerplus.force_restart_timeout", ZCG(accel_directives).force_restart_timeout);
|
||||
add_assoc_long(directives, "zend_optimizerplus.revalidate_freq", ZCG(accel_directives).revalidate_freq);
|
||||
add_assoc_string(directives, "zend_optimizerplus.preferred_memory_model", STRING_NOT_NULL(ZCG(accel_directives).memory_model), 1);
|
||||
add_assoc_string(directives, "zend_optimizerplus.blacklist_filename", STRING_NOT_NULL(ZCG(accel_directives).user_blacklist_filename), 1);
|
||||
add_assoc_long(directives, "zend_optimizerplus.max_file_size", ZCG(accel_directives).max_file_size);
|
||||
add_assoc_string(directives, "zend_optimizerplus.error_log", STRING_NOT_NULL(ZCG(accel_directives).error_log), 1);
|
||||
add_assoc_long(directives, "opcache.max_accelerated_files", ZCG(accel_directives).max_accelerated_files);
|
||||
add_assoc_double(directives, "opcache.max_wasted_percentage", ZCG(accel_directives).max_wasted_percentage);
|
||||
add_assoc_long(directives, "opcache.consistency_checks", ZCG(accel_directives).consistency_checks);
|
||||
add_assoc_long(directives, "opcache.force_restart_timeout", ZCG(accel_directives).force_restart_timeout);
|
||||
add_assoc_long(directives, "opcache.revalidate_freq", ZCG(accel_directives).revalidate_freq);
|
||||
add_assoc_string(directives, "opcache.preferred_memory_model", STRING_NOT_NULL(ZCG(accel_directives).memory_model), 1);
|
||||
add_assoc_string(directives, "opcache.blacklist_filename", STRING_NOT_NULL(ZCG(accel_directives).user_blacklist_filename), 1);
|
||||
add_assoc_long(directives, "opcache.max_file_size", ZCG(accel_directives).max_file_size);
|
||||
add_assoc_string(directives, "opcache.error_log", STRING_NOT_NULL(ZCG(accel_directives).error_log), 1);
|
||||
|
||||
add_assoc_bool(directives, "zend_optimizerplus.protect_memory", ZCG(accel_directives).protect_memory);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.save_comments", ZCG(accel_directives).save_comments);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.load_comments", ZCG(accel_directives).load_comments);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.fast_shutdown", ZCG(accel_directives).fast_shutdown);
|
||||
add_assoc_bool(directives, "zend_optimizerplus.enable_file_override", ZCG(accel_directives).file_override_enabled);
|
||||
add_assoc_long(directives, "zend_optimizerplus.optimization_level", ZCG(accel_directives).optimization_level);
|
||||
add_assoc_bool(directives, "opcache.protect_memory", ZCG(accel_directives).protect_memory);
|
||||
add_assoc_bool(directives, "opcache.save_comments", ZCG(accel_directives).save_comments);
|
||||
add_assoc_bool(directives, "opcache.load_comments", ZCG(accel_directives).load_comments);
|
||||
add_assoc_bool(directives, "opcache.fast_shutdown", ZCG(accel_directives).fast_shutdown);
|
||||
add_assoc_bool(directives, "opcache.enable_file_override", ZCG(accel_directives).file_override_enabled);
|
||||
add_assoc_long(directives, "opcache.optimization_level", ZCG(accel_directives).optimization_level);
|
||||
|
||||
add_assoc_zval(return_value, "directives", directives);
|
||||
|
||||
@@ -576,7 +576,7 @@ static ZEND_FUNCTION(accelerator_get_configuration)
|
||||
MAKE_STD_ZVAL(version);
|
||||
array_init(version);
|
||||
add_assoc_string(version, "version", ACCELERATOR_VERSION, 1);
|
||||
add_assoc_string(version, "accelerator_product_name", ACCELERATOR_PRODUCT_NAME, 1);
|
||||
add_assoc_string(version, "opcache_product_name", ACCELERATOR_PRODUCT_NAME, 1);
|
||||
add_assoc_zval(return_value, "version", version);
|
||||
|
||||
/* blacklist */
|
||||
@@ -588,7 +588,7 @@ static ZEND_FUNCTION(accelerator_get_configuration)
|
||||
|
||||
/* {{{ proto void accelerator_reset()
|
||||
Request that the contents of the Accelerator module in the ZPS be reset */
|
||||
static ZEND_FUNCTION(accelerator_reset)
|
||||
static ZEND_FUNCTION(opcache_reset)
|
||||
{
|
||||
/* keep the compiler happy */
|
||||
(void)ht; (void)return_value_ptr; (void)this_ptr; (void)return_value_used;
|
||||
|
||||
Reference in New Issue
Block a user