php按钮点击limit增加,增加PHP memory_limit 在什么时候它变得疯了?

将PHP的memory_limit作为Apache模块运行到服务器网页的配置必须考虑在机器上同时可以有多少Apache进程 – 请参阅Apache的MaxClients配置选项。

如果MaxClients为100,并且您有2,000 MB或RAM,一个非常快速的计算将显示您不应该使用超过20 MB *(因为20 MB * 100客户端= 2 GB或RAM,即您的服务器的内存总量)*为memory_limit值。

这是没有考虑到可能在同一个服务器上运行的其他事情,如MySQL,系统本身…而且Apache可能已经使用一些内存为自己。

或者,这也是一个“最坏的情况”,认为每个PHP页面使用最大的内存量。

在你的情况下,如果你只需要这么大的内存只有一个工作,我不会增加memory_limitPḦP作为一个Apache模块运行。

相反,我将从命令行(或通过cron作业)启动该作业,并在此唯一的情况下指定更高的memory_limit specificaly。

这可以使用php的-d选项来完成,如:

$ php -d memory_limit=1GB temp.php

string(3) "1GB"

考虑到,在这种情况下,temp.php只包含:

var_dump(ini_get('memory_limit'));

在我看来,这比增加Apache的PHP模块的memory_limit更安全 – 这是我通常做的,当我有一个大的数据集,或一些非常重的东西,我不能优化或分页。

如果需要为PHP CLI执行定义几个值,您还可以指定使用-c选项使用另一个配置文件,而不是默认的php.ini:

php -c /etc/phpcli.ini temp.php

这样,你有:

> /etc/php.ini为Apache,具有低memory_limit,低max_execution_time,…

>和/etc/phpcli.ini从命令行运行批处理,实际上没有限制

这确保您的批次将能够运行 – 您仍然可以为您的网站提供安全性(memory_limit和max_execution_time是安全措施)

但是,如果你有时间优化你的脚本,你应该;例如,在那种你必须处理大量数据的情况下,分页是必须的;-)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值