【发布时间】:2018-04-02 20:52:19
【问题描述】:
在我的生产服务器上,配置如下:
- Nginx
- phpfpm-7.0
- 列表项
Symfony3.3
我在访问 app.php 页面的 phpFpm 错误日志中定位主页时仍然收到 500 错误:
[error] 16800#16800: *9 FastCGI sent in stderr: "PHP message: PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 4096 bytes) in .../vendor/composer/autoload_static.php on line 4248" while reading response header from upstream, client: XXXXXXXX, server: _, request: "GET /app.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "XXXXXXX"
我尝试在没有任何更改的情况下增加这些位置的 memory_limit 参数:
- /etc/php/7.0/fpm/php.ini
- /etc/php/7.0/fpm/php-fpm.conf
- /etc/php/7.0/fpm/pool.d/www.conf
- /etc/php/7.0/cli/php.ini
你知道它是从哪里来的吗?
【问题讨论】:
-
您可以使用
phpinfo();检查使用的配置 - 此外,您可能需要重新启动 httpd 才能使更改生效。 -
@ccKep php -i 命令指定的配置文件是/etc/php/7.0/cli/php.ini。每次我进行配置更改时,我都尝试重新启动 fpm 和 nginx,但它并没有解决这个允许的内存大小问题
-
php -i可能使用与您的 Web 环境不同的配置文件。尝试创建一个以<?php phpinfo(); ?>为内容的info.php文件,并比较那里的路径(可能还有内存限制)。
标签: php nginx composer-php symfony-3.3 fpm