【发布时间】: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