簡體   English   中英

Opcache 在 php.ini 中禁用,但處於活動狀態

[英]Opcache disabled in php.ini, but active

我正在使用 PHP 7.4、Nginx 和 ubuntu 20 設置新的網絡服務器。
php.ini 使用默認設置,所有 opcache 選項都被注釋掉。

[opcache]
; Determines if Zend OPCache is enabled
;opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0

; The OPcache shared memory storage size.
;opcache.memory_consumption=128

; The amount of memory for interned strings in Mbytes.
;opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
;opcache.max_accelerated_files=10000

; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5

; When this directive is enabled, the OPcache 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.
;opcache.use_cwd=1

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
;opcache.validate_timestamps=1

; 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)
;opcache.revalidate_freq=2

; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0

; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
;opcache.save_comments=1

; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0

; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0x7FFFBFFF

;opcache.dups_fix=0

; The location of the OPcache blacklist file (wildcards allowed).
; Each OPcache 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
; to a new line. The filename may be a full path or just a file prefix
; (i.e., /var/www/x  blacklists all the files and directories in /var/www
; that start with 'x'). Line starting with a ; are ignored (comments).
;opcache.blacklist_filename=

; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0

; Check the cache checksum each N requests.
; The default value of "0" means that the checks are disabled.
;opcache.consistency_checks=0

; How long to wait (in seconds) for a scheduled restart to begin if the cache
; is not being accessed.
;opcache.force_restart_timeout=180

; OPcache error_log file name. Empty string assumes "stderr".
;opcache.error_log=

; All OPcache 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).
;opcache.log_verbosity_level=1

; Preferred Shared Memory back-end. Leave empty and let the system decide.
;opcache.preferred_memory_model=

; Protect the shared memory from unexpected writing during script execution.
; Useful for internal debugging only.
;opcache.protect_memory=0

; Allows calling OPcache API functions only from PHP scripts which path is
; started from specified string. The default "" means no restriction
;opcache.restrict_api=

; 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"
; errors.
;opcache.mmap_base=

; Facilitates multiple OPcache instances per user (for Windows only). All PHP
; processes with the same cache ID and user share an OPcache instance.
;opcache.cache_id=

; Enables and sets the second level cache directory.
; It should improve performance when SHM memory is full, at server restart or
; SHM reset. The default "" disables file based caching.
;opcache.file_cache=

; Enables or disables opcode caching in shared memory.
;opcache.file_cache_only=0

; Enables or disables checksum validation when script loaded from file cache.
;opcache.file_cache_consistency_checks=1

; Implies opcache.file_cache_only=1 for a certain process that failed to
; reattach to the shared memory (for Windows only). Explicitly enabled file
; cache is required.
;opcache.file_cache_fallback=1

; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
; This should improve performance, but requires appropriate OS configuration.
;opcache.huge_code_pages=1

; Validate cached file permissions.
;opcache.validate_permission=0

; Prevent name collisions in chroot'ed environment.
;opcache.validate_root=0

; If specified, it produces opcode dumps for debugging different stages of
; optimizations.
;opcache.opt_debug_level=0

; Specifies a PHP script that is going to be compiled and executed at server
; start-up.
; http://php.net/opcache.preload
;opcache.preload=

; Preloading code as root is not allowed for security reasons. This directive
; facilitates to let the preloading to be run as another user.
; http://php.net/opcache.preload_user
;opcache.preload_user=

; Prevents caching files that are less than this number of seconds old. It
; protects from caching of incompletely updated files. In case all file updates
; on your site are atomic, you may increase performance by setting it to "0".
;opcache.file_update_protection=2

; Absolute path used to store shared lockfiles (for *nix only).
;opcache.lockfile_path=/tmp

如您所見,opcache 設置應使該服務保持禁用狀態。 無論如何,opcache 處於活動狀態並正在運行,如下命令所示:

root@eve-2021-ubuntu-s-2vcpu-4gb-fra1-01:~# php > print_r(opcache_get_configuration());
-bash: syntax error near unexpected token `('
Array
root@eve-2021-ubuntu-s-2vcpu-4gb-fra1-01:~# Array
(
[directives] => Array
    (
        [opcache.enable] => 1
        [opcache.enable_cli] =>
        [opcache.use_cwd] => 1
        [opcache.validate_timestamps] => 1
        [opcache.validate_permission] =>
        [opcache.validate_root] =>
        [opcache.dups_fix] =>
        [opcache.revalidate_path] =>
        [opcache.log_verbosity_level] => 1
        [opcache.memory_consumption] => 134217728
        [opcache.interned_strings_buffer] => 8
        [opcache.max_accelerated_files] => 10000
        [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.enable_file_override] =>
        [opcache.optimization_level] => 2147401727
        [opcache.lockfile_path] => /tmp
        [opcache.file_cache] =>
        [opcache.file_cache_only] =>
        [opcache.file_cache_consistency_checks] => 1
        [opcache.file_update_protection] => 2
        [opcache.opt_debug_level] => 0
        [opcache.restrict_api] =>
        [opcache.huge_code_pages] =>
        [opcache.preload] =>
        [opcache.preload_user] =>
    )

[version] => Array
    (
        [version] => 7.4.3
        [opcache_product_name] => Zend OPcache
    )

[blacklist] => Array
    (
    )

)

我不明白為什么 OPC 處於活動狀態,我必須在開發服務器上工作,所以我需要禁用它。 除了 php.ini 文件之外,還可以在哪里啟用 Opcache?

謝謝

因為opcache.enable的默認值為 1。

https://www.php.net/manual/en/opcache.configuration.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM