Epidemiology & Technology

OpCache WordPress

WordPress Settings

find /var/www/html/ -type f -name "*.php" -printf "%s\n" | gawk -M '{t+=$1}END{print t}' | numfmt --to=iec

# Number of PHP Files to accelerate
cd /var/www/html/ 
find . -name "*.php"  | wc -l

Code language: PHP (php)

PHP.ini Settings

php -i | grep "Loaded Configuration File"
#Edit Opcache settings
nano /etc/php/7.2/apache2/php.iniCode language: PHP (php)
; Determines if Zend OPCache is enabled
; 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.
;opcache.opt_debug_level=0Code language: Lisp (lisp)


Install the plugin



cd ~ 
git clone https://github.com/amnuts/opcache-gui.git
cd opcache-gui/
sudo mkdir /var/www/html2
sudo mkdir /var/www/html2/opcacheGUI/
sudo cp index.php /var/www/html2/opcacheGUI/
cd /var/www/html2/opcacheGUI/

sudo chown www-data:www-data index.php 
sudo chmod 755 index.php 
Code language: PHP (php)

Apache Enablement

sudo cp /etc/apache2/sites-available/000-default.conf    /etc/apache2/sites-available/opcache.conf    

<VirtualHost *:81>
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html2/
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined


sudo nano /etc/apache2/ports.conf
Listen 81

apache2ctl configtest 

sudo a2ensite opcache.conf
sudo systemctl reload apache2
sudo service apache2 restart
sudo service apache2 status

sudo netstat -tulpn | grep LISTENCode language: HTML, XML (xml)

Access OPCache statistics on Local IP

http://192.168.XX.XX:81/opcacheGUI/index.phpCode language: JavaScript (javascript)

Related posts