Home >Backend Development >PHP Problem >What's going on when php modification doesn't work?

What's going on when php modification doesn't work?

PHPz
PHPzOriginal
2023-04-12 09:17:531521browse

Developers who use PHP recently have encountered this situation: they modified the PHP code, but the website was not updated. This is because PHP caches compiled scripts when running, thereby executing the code quickly to improve execution efficiency. In this case, your modifications may not be updated on the web page in time, causing your modified code to not work. However, don’t worry, this article will introduce you how to solve this problem and make your modifications effective.

  1. Turn off OPcache caching
    Generally, when we use PHP 5.5 and above, a cache extension called OPcache will be enabled by default. This extension can greatly improve the performance of PHP scripts, but it will also cause the modified code to not take effect. You can turn off OPcache by modifying the php.ini file.

First, find the php.ini file: run the phpinfo() function and look for the Loaded Configuration File column to find the php.ini file path. Then, open the file with an editor and add the following content at the end of the file:

[opcache]
; 一般情况下,opcache 模块会自动加载 zend_extension=opcache
opcache.enable=0; 关闭 opcache 模块

After restarting the Apache or PHP-FPM service, your code can be updated in time.

  1. Increase version number
    In PHP files, you can use variables or constants to replace the file name on each request. These constants and variables can be timestamps, version numbers, etc. so that the cache knows when to update the cache.

Define a version number in the PHP file:

define('VERSION', 't0005');

Then in the PHP file that needs to load CSS and JavaScript files, rewrite the CSS and JavaScript links to have versions Link to number:

<link href="style.css?v=<?php echo VERSION; ?>" rel="stylesheet" type="text/css"/>

This will give the file a new version number every time it is accessed so that the cache knows when to update the cache.

  1. Use Ctrl F5 to force refresh
    When you find that the modified code cannot run in the browser, you can use Ctrl F5 to force refresh the web page. This will ignore browser cache and download the entire content.

However, this approach is ineffective when your code is cached on the server side.

  1. Delete cache files
    If your modification still does not take effect, it may be because the cache file already exists. You can solve the problem by deleting these cache files. Cache files are usually in a temporary folder under the website directory.

Find the temporary folder, delete all files in it, and try to access the web page again.

Summary
The above methods are some common ways to solve the problem of code modification not taking effect. If you've taken these steps and are still having issues, you may need to further examine your code and server configuration.

In application development, debugging code is an ongoing process, and there are many ways to solve problems. These methods are just some of them, but they will solve the problem in most cases. Hope these solutions will help you!

The above is the detailed content of What's going on when php modification doesn't work?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn