首页 > 解决方案 > VPS 2GB RAM 内存和 Symfony 3 - 内存不足

问题描述

我正在尝试在 Debian 8 服务器上安装 symfony 3.4 项目。我使用 Nginx 作为网络服务器。

我的配置服务器:

作曲家安装工作正常(作曲家也更新)。我在同一台服务器上也有一个角前端。一切正常(npm install,ng build,..)。

但是当我请求我的 API 的任何路由时,我会收到代码 500 的错误。我什至无法获取探查器。

在 nginx 的日志文件中,我可以看到此错误消息日志消息,但我配置了 php memory_limit = -1。

我的 nginx 配置文件:

server {
    listen 80;
    server_name my_server_name;
    root location/of/my/front;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ /index.html;
    }
}


server {
    server_name my_server_name_api;
    root location/of/my/api/web;

    location / {
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app_dev|config)\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~ ^/app\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
       fastcgi_param DOCUMENT_ROOT $realpath_root;
       internal;
   }

   location ~ \.php$ {
     return 404;
   }

   error_log /var/log/nginx/project_error.log;
   access_log /var/log/nginx/project_access.log;
}

你有什么主意吗 ?谢谢

标签: nginxout-of-memory

解决方案


此错误可能是由于您的 PHP.ini 设置文件具有较低的内存限制,PHP 可以设置允许使用的内存限制,并且通常它不是动态设置的,这意味着它需要您将其更改为值你想使用的。

为此,请找到 php.ini 文件,并找到其中的行,memory_limit然后将其更改为:

memory_limit = -1

这将允许 PHP 使用尽可能多的内存,这在某些情况下并不理想,并且通常您会发现大多数网站只需要大约 1gb 的内存即可运行,因此请尝试:

memory_limit = 1024

相反,如果您不打算使用它,您可以查看其他方法,例如在 Symfony 中禁用分析器,因为它是 Symfony 中最急切的组件。为此,将此代码段添加到您的代码中,它将在您想要禁用探查器的位置:

if ($this->container->has('profiler')){
    $this->container->get('profiler')->disable();
}

或者如果你想禁用全局,你可以在配置中设置全局参数。

framework:
    profiler:
        collect: false

您还可以memory_limit通过 PHP 设置变量,方法是放入ini_set('memory_limit', '-1');您的主 .php 文件。


推荐阅读