【问题标题】:Unable to increase PHP Memory Limit无法增加 PHP 内存限制
【发布时间】:2015-08-31 05:06:32
【问题描述】:

我在本地主机上使用的项目遇到问题,我无法增加 PHP memory_limit 设置。

我试过直接在 php.ini 配置中增加它:

memory_limit = 1024M

我已经尝试在项目 .htaccess 文件中增加它:

php_value memory_limit 1024M

我试过直接在PHP控制器的函数中增加它:

ini_set('memory_limit', '1024M');

然而,这些实际上都没有增加项目的内存限制,并且回显phpinfo() 确认 memory_limit 没有更改。

我检查了phpinfo() 中的 Loaded Configuration File 设置,以确保我修改了正确的 php.ini 文件,并且没有其他额外的配置文件正在解析,可能与此设置冲突,但我仍然无法增加设置。

配置文件(php.ini)路径/etc/php5/apache2

加载的配置文件/etc/php5/apache2/php.ini

扫描此目录以获取其他 .ini 文件 /etc/php5/apache2/conf.d

额外的.ini文件解析/etc/php5/apache2/conf.d/05-opcache.ini, /etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/20-curl.ini, /etc/php5/apache2/conf.d/20-json.ini, /etc/php5/apache2/conf.d/20-memcached.ini, /etc/php5/apache2/conf.d/20-mysql.ini, /etc/php5/apache2/conf.d/20-mysqli.ini, /etc/php5/apache2/conf.d/20-pdo_mysql.ini, /etc/php5/apache2/conf.d/20-readline.ini

社区有什么我可以尝试的想法吗?我正在使用 PHP v5.5.9

【问题讨论】:

  • .htaccess 应该已经覆盖了 apache 配置设置,但您可能也想尝试增加那里的默认值。我从来没有遇到过。
  • 更改了 php.ini 后是否重启了 Apache?
  • 你的 PHP 版本是多少?诸如“1024M”之类的短符号仅从 5.1.0 开始可用,并且只能在 php.ini (php.net/manual/en/faq.using.php#faq.using.shorthandbytes) 中使用。您可以尝试将其写入字节 1073741824。
  • 是的,我在更改后重新启动了 Apache。我正在使用 PHP v5.5.9
  • 你是用ini_get读取内存限制还是等待出错?你检查过自动前置吗?覆盖代码中的其他地方?顺便说一句,增加内存分配,尤其是这么大的值应该是最后的手段,即使你使用的是 cackePHP。

标签: php apache memory memory-management out-of-memory


【解决方案1】:

所以事实证明内存限制被适当地增加了,只是没有反映在 phpinfo() 中。它没有反映在 phpinfo() 回显中的原因是因为我在控制器中增加内存,然后从视图中回显 phpinfo(),所以增加没有反映在风景。

使用ini_get() 帮助我跟踪整个请求的内存限制。

【讨论】:

    猜你喜欢
    • 2014-11-17
    • 2018-03-03
    • 2014-04-24
    • 2010-11-26
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多