Drupal 9 - 代码修改不生效
Drupal 9 - Code modification doesn't take effect
我正在尝试调试我的 Drupal 9
应用程序中的一些代码。
例如,在文件 web/index.php
中,我尝试添加 die('Was here')
<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
//My code is here
die('Was here');
$kernel = new DrupalKernel('prod', $autoloader);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
起初,我在浏览器上得到了结果。接下来我删除这个 die
函数,当我刷新浏览器时,我得到的结果和以前一样,就好像我没有更改代码一样
几分钟后,我的浏览器中显示了预期的结果。好奇怪
所以我想知道为什么 Drupal 没有考虑到代码更改。
顺便说一句,我 运行 命令 drush cr
但它没有改变任何东西
这听起来像 PHP OpCode 缓存。
您可以在“PHP OPcode 缓存”下的 Drupal 状态报告中查看它是否已启用。
[此处][1] 中有一个关于禁用 Drupal 缓存的页面,其中包含一个关于 opcache 的部分。
我相信要禁用 opcache,您可以在 php.ini 文件中添加一个条目。
opcache.enable=0
务必重启php-fpm等相关服务。并在 Drupal 状态报告中验证它是否有效。
[1]: https://www.drupal.org/node/2598914
我正在尝试调试我的 Drupal 9
应用程序中的一些代码。
例如,在文件 web/index.php
中,我尝试添加 die('Was here')
<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
//My code is here
die('Was here');
$kernel = new DrupalKernel('prod', $autoloader);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
起初,我在浏览器上得到了结果。接下来我删除这个 die
函数,当我刷新浏览器时,我得到的结果和以前一样,就好像我没有更改代码一样
几分钟后,我的浏览器中显示了预期的结果。好奇怪
所以我想知道为什么 Drupal 没有考虑到代码更改。
顺便说一句,我 运行 命令 drush cr
但它没有改变任何东西
这听起来像 PHP OpCode 缓存。 您可以在“PHP OPcode 缓存”下的 Drupal 状态报告中查看它是否已启用。 [此处][1] 中有一个关于禁用 Drupal 缓存的页面,其中包含一个关于 opcache 的部分。 我相信要禁用 opcache,您可以在 php.ini 文件中添加一个条目。
opcache.enable=0
务必重启php-fpm等相关服务。并在 Drupal 状态报告中验证它是否有效。 [1]: https://www.drupal.org/node/2598914