Server info: Ubuntu Server, Nginx, PHP FPM
in /etc/php5/fpm/php.ini
I have: memory_limit = 512M
in /etc/php5/fpm/php-fpm.conf
I have: php_admin_value[memory_limit] = 512M
php_value[memory_limit] = 512M
My phpinfo looks like:
PHP Version 5.3.10-1ubuntu3.6
System Build Date
Linux snserver 3.2.0-40-generic #64-Ubuntu SMP Mon Mar 25 21:22:10 UTC 2013 x86_64 Mar 11 2013 14:34:24
Server API
FPM/FastCGI
Virtual Directory Support
disabled
Configuration File (php.ini) Path
/etc/php5/fpm
Loaded Configuration File
/etc/php5/fpm/php.ini
Scan this dir for additional .ini files
/etc/php5/fpm/conf.d
Additional .ini
files parsed
/etc/php5/fpm/conf.d/curl.ini, /etc/php5/fpm/conf.d/gd.ini, /etc/php5/fpm/conf.d/mcrypt.ini, /etc/php5/fpm/conf.d/memcache.ini, /etc/php5/fpm/conf.d/mysql.ini, /etc/php5/fpm/conf.d/mysqli.ini, /etc/php5/fpm/conf.d/pdo.ini, /etc/php5/fpm/conf.d/pdo_mysql.ini
...
This server is protected with the Suhosin Patch 0.9.10 Copyright (c) 2006-2007 Hardened-PHP Project Copyright (c) 2007-2009 SektionEins GmbH
This program makes use of the Zend Scripting Language Engine: Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.2.2, Copyright (c) 2002-2013, by Derick Rethans
...
memory_limit
128M
upload_max_filesize
20M
in /etc/nginx/nginx.conf:
user www-data;
worker_processes 2;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
client_max_body_size 20M;
##
# Basic Settings
##
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
proxy_busy_buffers_size 512k;
fastcgi_read_timeout 3600;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300;
keepalive_requests 50;
#ssl_ciphers HIGH:!aNULL:!MD5:!kEDH;
#ssl_prefer_server_ciphers on;
#ssl_protocols TLSv1;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
The problem is when i change upload_max_filesize
size then the phpinfo
will show the new value, but when I change memory_limit
then nothing changes.
I guess in somewhere the memory_limit is overwrited. But i cannot find it.
Can anyone help me?
In
/etc/php5/fpm/php-fpm.conf
I havephp_admin_value[memory_limit] = 512M
This works for me.
For me it also ignored php.ini and I had to do the following:
Then restart php-fpm:
You can take Nginx out of the picture, it just passes the request on, it's in php-fpm running your php code.
you might check your suhosin settings, suhosin.memory_limit.
when you see your phpinfo output there should be 2 columns, master and local for memory_limit, what do these each show?
128M is the default for memory_limit in php 5.3
The problem may be in fpm the process duplication, even you change your /etc/php5/fpm/php.ini it was not effect.
Just FYI,
you should also check in /etc/php5/fpm/pool.d for any files.
It just happened to me that no matter what I wrote on /etc/php5/fpm/php-fpm.conf it would get overrided by /etc/php5/fpm/pool.d/www.conf !
So if none of the above answers are not working for you, you should check this (I just lost half hour to this).
Also encountered this now and wanted to increase memory of our server in a DigitalOcean droplet
To summarize, here is what I did
You don't need to restart nginx, just restarting php would be enough.