修改PHP的memory_limit限制的方法分享_php技巧

解决这个问题,首先需要查看你的程序是否分配了过多的内存,在程序没有问题的情况下,你可以通过一下方法来增加PHP的内存限制(memory_limit)。

检查php的内存限制值

为了查看这个值,你需要建立一个空的php文件,比如view-php-info.php。然后将一下代码贴到里面。

<?php phpinfo(); ?>

将这个脚本放到你的Web服务器上,然后在浏览器中调用它。这时你可以看到你的PHP环境配置的信息,其中有一部分是关于“memory_limit”的, 如下图:

注:你可以用这种方法来查看php的其他参数设置,不仅仅是memory_limit

memory_limit应该设为多少?

这个完全依赖于你的应用的要求。比如Wordpress,运行起核心代码需要32MB。Drupal 6则要求这个值最小为16MB,并推荐设置为32MB。如果你又安装不少的插件(plugins),尤其是那些要进行图像处理的模块,那么你可能需要128MB或更高的内存。

如何设置memory_limit

方法1: php.ini

最简单或常用的方法是修改php.ini

1.首先找到对你的网站生效的php.ini文件 由于有多个地方都可以设置php的参数,找到正确的配置文件,并进行更改是首先要做的一步。如果你上面的方法建立了php文件来查看其配置参数,则你可以找到“Loaded Configuration File”这一项,以下是个例子:

对于Linux用户,你可以通过执行“php -i | grep Loaded Configuration File”来找到对应的配置文件。而Windows用户,你可以尝试修改你的php安装目录下的php.ini。

2.编辑php.ini 在php.ini中,找到“memory_limit”这一项,如果没有,你可以在文件的尾部自己增加这个参数。以下是一些设置范例

memory_limit = 128M ; 可以将128M改为任何你想设置的值

保存文件

3.重启web 服务器 如果是web服务器使用Apache, 则执行:

httpd restart

有些情况下,你可能不被允许私修改php.ini。比如如果你购买了虚拟主机服务,但是你的服务商确禁止你修改这个文件。那么,你可以需要考虑用其他方法来增加memory_limit的值。

方法2: .htaccess

说明: 这种方法只有在php以Apache模块来执行时才生效。 在你的网站的根目录下找到“.htaccess”文件,如果没有,可以自己创建一个。然后把以下配置放入其中

php_value memory_limit 128M ; 可以将128M改为任何你想设置的值

方法3: 运行时修改php的内存设置

在你的php代码中增加以下命令行即可。

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

memory_limit修改失败

如果你使用虚拟主机,有可能会出现memory_limit的值修改失败。这个需要联系你的服务商看怎么处理,通常他们限制了可以设置的最大值或者根本就不允许你修改。如果他们的环境真的无法满足你的要求,那么你可能要考虑换一个主机服务商。

时间: 2024-10-03 05:14:30

修改PHP的memory_limit限制的方法分享_php技巧的相关文章

通过PHP修改Linux或Unix口令的方法分享_php技巧

需要的工具和安装: 你必须安装下面的工具和软件: –修改口令的Shell脚本; – Sudo访问权; – Apache or Lighttpd web服务器; – PHP服务端程序. 步骤1:安装可以修改用户口令的shell脚本 该脚本可以实际用于修改Linux用户的口令(已在Linux和FreeBSD测试). 例子: shell脚本代码 #!/bin/sh # \ exec expect -f "$0″ ${1+"$@"} set password [lindex $arg

PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享_php技巧

对于学习php的新手,由于网上的配置方法都是很久之前的,及时性不高,环境配置往往令人很头疼,我初学php配置环境时配置了3个晚上,每次总是会出现这样或那样的问题,如今把最新版的PHP5.5.15+Apache2.4.10+MySQL5.6.20,win7x86的配置方法分享给大家,64位的同理,不过下载的软件需要也是64位的. 环境:win7 32.(64位的同理,下载相关软件必须是对应的64位版本)              PHP5.5.15(php-5.5.15-Win32-VC11-x8

解决PhpMyAdmin中导入2M以上大文件限制的方法分享_php技巧

要处理这个问题,经过一番研究发现,有2种方法: 方法一: 找到php.ini搜索这3个地方 upload_max_filesize , memory_limit 和 post_max_size将他们后面的值修改成大于你需要导入的数据库大小就好了.然后重启的PHP环境. 方法二:以phpMyAdmin-3.1.0-all-languages为例,我的安装目录E:\wwwroot\phpMyAdmin\ 1.在 phpmyadmin目录里新建一个目录 upload. 2.打开phpmyadmin,找

PHP版网站缓存加快打开速度的方法分享_php技巧

说明: 1,在服务器缓存了压缩过的文件,再次访问减少再压缩时间,降低CPU占用率. 2,通过设置客户端文件缓存时间,降低再次请求次数,可降低85%以上. 3,图片因为已经是压缩格式,只是设置客户端缓存时间,不做压缩处理. 使用方法: 1,服务器必须支持gzip,Rewrite功能. 2,在.htacess文件的"RewriteBase /"下面一行添加下面的代码,见图 RewriteRule (.*.css$|.*.js$|.*.jpg$|.*.gif$|.*.png$) gzip.p

ajax返回值中有回车换行、空格的解决方法分享_php技巧

最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了.后来发现所有alert出来的返回值前面都会加若干换行和空格.(至今不明白,同一台电脑,同样的环境,为什么出现这样的问题) 后来在网上发现也有人遇到了相同的问题.无论是jquery $.ajax  $.get  $.post 在或者是原声的XMLHttpRequest方法都存在这种问题,这样调用的时候和判断的时候,有时候会出错.看例子 ajax代码: 复制代码 代码如下: $.get('

thinkphp在低版本Nginx 下支持PATHINFO的方法分享_php技巧

最近在用thinkphp做一个项目,基本完成后部署到nginx服务器上才发觉nginx是不支持pathinfo的那么我们如何来处理呢. Nginx环境 在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf(在/usr/local/nginx/conf/nginx.conf或者通过find / | grep nginx.conf来查找位置)中配置转发规则实现:在nginx配置文件中添加: location / { if (!-e $request_filename)

php生成不重复随机数、数组的4种方法分享_php技巧

下面写几种生成不重复随机数的方法,直接上代码吧 复制代码 代码如下: <?php define('RANDOM_MAX', 100); define('COUNT', 10); echo 'max random num: '.RANDOM_MAX, ' ;result count:'.COUNT, '<br/>'; invoke_entry('rand1'); invoke_entry('rand2'); invoke_entry('rand3'); invoke_entry('rand

php中$美元符号与Zen Coding冲突问题解决方法分享_php技巧

Zen Coding插件就不多做介绍了. 众所周知,安装了插件以后,输入$符号会被自动解析为相应的数字1.2.3... 作为一名PHP程序员,想要通过其定义一些自己常用的代码.却发现展开以后悲剧的发现$符号全变成了数字. 下面教你解决方法:

PHP中通过语义URL防止网站被攻击的方法分享_php技巧

什么是语义URL 攻击? 好奇心是很多攻击者的主要动机,语义URL 攻击就是一个很好的例子.此类攻击主要包括对URL 进行编辑以期发现一些有趣的事情. 例如,如果用户chris 点击了你的软件中的一个链接并到达了页面http://example.org/private.php?user=chris, 很自然地他可能会试图改变user的值,看看会发生什么.例如,他可能访问http://example.org/private.php?user=rasmus 来看一下他是否能看到其他人的信息.虽然对G