【问题标题】:Php (SF2) page not updating with new codePHP(SF2)页面未使用新代码更新
【发布时间】:2015-01-22 21:57:32
【问题描述】:

在 ubuntu 14.04.1 LTS 上使用 php5-fpm 和 mysql 运行 nginx。 每当我更新我的代码 (SF2/PHP) 时,每当我加载我的页面时,更改都保持不变。

我怎样才能知道发生了什么?

  • 可能是 /var/www 目录问题。虽然用 nano 打开文件显示文件确实正在更新。
  • 可能是 nginx / php5-fpm 有一些问题。 (尝试重新加载/重启,没有效果)
  • 可能是以下代码

正在发生的事情的示例:

在我的页面/用户:

Warning: Missing argument 2 for JMS\Serializer\Serializer::serialize(), called in /var/www/webshop/src/AppBundle/Controller/UsersController.php on line 35 and defined 

使用以下代码:

public function getUsersAction() {
    $doctrine = $this->getDoctrine();
    $doctrineUsers = $doctrine->getRepository("AppBundle:User")->findAll();

    $users = array();

    foreach($doctrineUsers as $user) {
        $users[$user->getUsername()] = array(
            "id" => $user->getId()
        );
    }

    $serializer = $this->get('jms_serializer');
    return $serializer->serialize($users);
}

比我改变的那段代码有

return $serializer->serialize($users, 'json');

但错误仍然存​​在,告诉我我错过了一个论点。 我现在甚至可以完全更改代码,例如

return 'WHATEVER';

它仍然显示相同的错误页面。

【问题讨论】:

  • 手动清除缓存会发生什么? rm -rf 应用程序/缓存/*
  • cache:clear 很少为我做适当的工作。我倾向于在我的 ide 中手动删除文件夹
  • 我会看看咖啡喝完后会发生什么! :-)
  • 遗憾的是,这不起作用:-(

标签: symfony ubuntu nginx php


【解决方案1】:

您可能启用了php-opcache 来缓存整个类。

尝试重新启动nginx 并再次启动该页面。我在httpd 上启用了APC 时遇到过这种情况,所以它应该是相似的......

另外,请确保您运行 app_dev.php 并且该文件中未启用缓存。捆绑的 Symfony2 app_dev.php 有注释行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    相关资源
    最近更新 更多