php opcache

  • Hi,
    i’m setting up a new Server ( ubuntu 18.04 ) with kopano core and webapp.

    the kb

    says opcache is enabled by default in some versions. In Ubuntu 18.04 it looks like it isn’t.

    The opcache section is pretty long:

    ; Determines if Zend OPCache is enabled
    ; Determines if Zend OPCache is enabled for the CLI version of PHP
    ; The OPcache shared memory storage size.
    ; The amount of memory for interned strings in Mbytes.
    ; The maximum number of keys (scripts) in the OPcache hash table.
    ; Only numbers between 200 and 1000000 are allowed.
    ; The maximum percentage of "wasted" memory until a restart is scheduled.
    ; 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.
    ; When disabled, you must reset the OPcache manually or restart the
    ; webserver for changes to the filesystem to take effect.
    ; 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)
    ; Enables or disables file search in include_path optimization
    ; If disabled, all PHPDoc comments are dropped from the code to reduce the
    ; size of the optimized code.
    ; Allow file existence override (file_exists, etc.) performance feature.
    ; A bitmask, where each bit enables or disables the appropriate OPcache
    ; passes
    ; 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).
    ; Allows exclusion of large files from being cached. By default all files
    ; are cached.
    ; Check the cache checksum each N requests.
    ; The default value of "0" means that the checks are disabled.
    ; How long to wait (in seconds) for a scheduled restart to begin if the cache
    ; is not being accessed.
    ; OPcache error_log file name. Empty string assumes "stderr".
    ; 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).
    ; Preferred Shared Memory back-end. Leave empty and let the system decide.
    ; Protect the shared memory from unexpected writing during script execution.
    ; Useful for internal debugging only.
    ; Allows calling OPcache API functions only from PHP scripts which path is
    ; started from specified string. The default "" means no restriction
    ; 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.
    ; 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.
    ; Enables or disables opcode caching in shared memory.
    ; Enables or disables checksum validation when script loaded from file cache.
    ; 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.
    ; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
    ; This should improve performance, but requires appropriate OS configuration.
    ; Validate cached file permissions.
    ; Prevent name collisions in chroot'ed environment.
    ; If specified, it produces opcode dumps for debugging different stages of
    ; optimizations.

    is there a best practise to use to optimize webapp and z-push?

  • You can check whether PHP opcache is enabled or not by checking your php.ini file. If it contains following code, then it means that it is enabled:

    zend_extension=/full/path/to/ (nix)

    zend_extension=C:\path\to\php_opcache.dll (win)

    If it doesn’t contain the above code, then you will have to add it to enable opcache.

  • And phpinfo() has a detailed section on opcache if enabled.

Log in to reply