opcache-preload.php (1843B)
1 <?php 2 /** 3 * WordPress opcache preloading. 4 * Requires PHP >= 7.4. 5 * 6 * @author Konrad Fedorczyk <contact@realhe.ro> 7 * @link https://stitcher.io/blog/preloading-in-php-74 8 * 9 * @version 1.0.0 10 */ 11 12 /** 13 * Uwaga! Adjust your path. 14 */ 15 define('APP_PATH', '/var/www/html/wordpress/'); 16 17 $preload_patterns = [ 18 // WP native files (priority). 19 'wp-load.php', 20 'wp-includes/http.php', 21 'wp-includes/class-http.php', 22 //'wp-includes/general-template.php', 23 //'wp-includes/link-template.php', 24 'wp-includes/class-wp-http-response.php', 25 'wp-includes/class-wp-http-requests-hooks.php', 26 'wp-includes/class-wp-http-proxy.php', 27 'wp-includes/class-wp-http-requests-response.php', 28 'wp-includes/class-wp-http-cookie.php', 29 'wp-includes/class-wp-query.php', 30 'wp-includes/class-wp-tax-query.php', 31 'wp-includes/class-wp-user.php', 32 'wp-includes/class-wp-post.php', 33 'wp-includes/class-wp-roles.php', 34 'wp-includes/class-wp-role.php', 35 36 'wp-includes/taxonomy.php', 37 'wp-includes/post.php', 38 'wp-includes/user.php', 39 'wp-includes/pluggable.php', 40 'wp-includes/rest-api.php', 41 'wp-includes/kses.php', 42 'wp-includes/capabilities.php', 43 'wp-includes/comment.php', 44 'wp-includes/query.php', 45 //'wp-includes/l10n.php', 46 'wp-includes/shortcodes.php', 47 'wp-includes/theme.php', 48 'wp-includes/post-template.php', 49 'wp-includes/post-thumbnail-template.php', 50 'wp-includes/media.php', 51 'wp-includes/date.php', 52 'wp-includes/author-template.php', 53 54 // Rest WP files. 55 "wp-includes/**/*.php", 56 "wp-includes/**/**/*.php", 57 "wp-includes/**/**/**/*.php", 58 "wp-includes/**/**/**/**/*.php", 59 ]; 60 61 foreach ($preload_patterns as $pattern) { 62 $files = glob(APP_PATH . $pattern); 63 64 foreach ($files as $file) { 65 opcache_compile_file($file); 66 } 67 }