如何解决Drupal 9 - 代码修改不生效
我正在尝试调试 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 状态报告中查看它是否启用。 有一个关于禁用 Drupal 缓存的页面 [here][1],其中包括一个关于 opcache 的部分。 我相信要禁用 opcache,您可以在 php.ini 文件中添加一个条目。
opcache.enable=0
一定要重启php-fpm等相关服务。并在 Drupal 状态报告中验证它是否有效。 [1]:https://www.drupal.org/node/2598914
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。