Tag Archive: php.ini

六月 1st, 2016

今天,遇到这样一个linux共享主机用户,网站后台上传3M的文件失败,原因由于upload_max_filesize限制所致.所以做了以下设置:

在网站程序根目录下,添加php.ini,文件内容如下:

memory_limit = 64M

upload_max_filesize = 20M

post_max_size = 20M

然后在根目录下,创建info.php测试页面.测试页面内容如下:

<?php phpinfo(); ?>

访问测试页面,查询结果,如下:

图片1

发现设置均已经生效.

再次测试文件上传,仍然失败,原因还是upload_max_filesize限制所致.

 

在处理问题之前,我们先了解下php.ini中这几个核心配置的说明:

upload_max_filesize  所上传文件的最大大小;

post_max_size       设定POST数据所允许的最大大小;

memory_limit       设定了一个脚本所能申请到的最大内存;

max_execution_time  每个脚本最大执行时间,单位秒;

 

一般情况下,需设置memory_limit  >  post_max_size  >  upload_max_filesize .

php.ini配置文件中,默认upload_max_filesize = 2M,post_max_size = 8M,memory_limit = 32M,max_execution_time = 30 ;

若你想上传一个20M的文件,你必须设定upload_max_filesize = 20M;如果POST数据超出限制,那么$_POST和$_FILES(PHP全局变量)将会为空,所以需要设定post_max_size值大于upload_max_filesize的值.但往往我们只要设置post_max_size等于upload_max_filesize值即可!

在上传文件时,若超过一定时间,则会报脚本执行超过30秒的错误.这是php.ini配置文件中max_execution_time设置作怪.其中”0”表示没有限制,但不推荐设置为0,可以根据上传文件适当调整max_execution_time的值.

一般情况,服务器的php.ini配置文件中的memory_limit与max_execution_time默认设置不生效的,你可以通过php.ini做相应的调整.

 

在回到上面这个问题上,客户php.ini 配置并没有错误,只是因服务器限制所导致.这里只需要服务器的相应设置调整一下即可!(这里需要联系服务器管理员)

如下:查看共享主机用户应用的PHP版本,以此来查看对应服务器php.ini配置文件路径.如下:

访问测试页面:

图片2

查看到对应服务器php.ini配置文件的路径为/opt/alt/php56/etc/php.ini,编辑该文件,修改upload_max_filesize 与post_max_size 的值为20M即可!

这样,用户的php.ini设置就可以生效了.再次上传20M及以下文件就不会有相应的限制报错了.

十月 31st, 2015

ASP程序

 

方法一: 修改该网站的的最大上传文件的大小限制

在Windows server上会出现上传大小受限制的问题,这是由于windows server的IIS管理器做了限制所致,IIS默认设置是最大只能上传200K的文件,下面介绍一下如何修改IIS设置,以使上传不受限制。
进入管理工具->Internet 信息服务(IIS)管理器,找到对应网站,打开该网站的功能页面,依次选择选择IIS->ASP->限制属性->最大请求主体实体限制.将其值修改为你需要的value,点击应用保存即可.默认是200000,单位字节.

方法二: 修改服务器的的最大上传文件的大小限制

首先停止Internet 信息服务(IIS)的internet服务,接着,在找到文件c:\windows\system32\inetsrv\metabase.xml,用“记事本”打开该文件,用记事本中的“查找”功能,搜索关键词“AspMaxRequestEntityAllowed”,搜索到结果,AspMaxRequestEntityAllowed=”200000″ 是win 2008用于限制最大上传文件大小的,默认是200000,你可以根据您的具体情况,修改该值设置完该值,保存文件,重启IIS服务即可。

:其实除了修改最大请求主体实体限制,还需要修改”允许的最大内容长度(字节)”,但是服务器的默认值足够,所以一般不需修改.具体情况视情况而定.

 

php程序

方法也很简单,其本质均是修改php.ini的设置.

方法一:即使虚拟主机客户也可以先尝试下. 您可以在您的网站目录中新建一个php.ini.

以文本格式打开php.ini,输入以下2行代码.

upload_max_filesize = 20M               //修改网站上传文件的大小,默认为2M

post_max_size = 20M                    //修改网站表单的最大字节长度,默认问8M

注:仅设置upload_max_filesize = 20M还是无法实现大文件的上传功能,还必须修改post_max_size,其代表允许POST的数据最大字节长度。一般设定upload_max_filesize和post_max_size值相等。

此时检测下设置是否生效.网上下载个php探针.或者简单的条用下phpinfo函数.这里就不冗述. 如果没有生效可以联系下您的主机商询问下情况.

方法二:适合独立服务器,修改php的默认配置,进入php的安装目录,找到php.ini,检索到对应的记录修改即可.

原博客地址:http://blog.sina.com.cn/s/blog_6d1b3b900102w3a7.html

八月 18th, 2015

在wordpress等程序建站过程中,遇到这样类似的错误提示:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate xxx bytes)

意思就是wordpress提示内存不足

所有程序都是这样修改内存 综合:
1.到你的网站根目录下,建立一个php.ini文件,写入下面这句:
memory_limit = 64M

2.在wp-config.php中最后写上:
define(‘WP_MEMORY_LIMIT’,‘64M’);

3.如果还不行,到public_html目录下的.htaccess中写上:(为了使1、2两步的操作生效。php.ini的文件都会生效)
SetEnv PHPRC /home/xixunus/public_html
suPHP_ConfigPath /home/xixunus/public_html

如果上述都不行的话,到客户的访问网站的子目录里如wp—admin中添加一个php.ini

2.网店程序出现内存不足,写入下面代码:
memory_limit = 64M
extension=mcrypt.so
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
extension=pdo_mysql.so

如果不行,在程序的数据库配置文件中 写入  define(‘WP_MEMORY_LIMIT’,‘64M’);

$dbHost=”localhost”;
$dbName=”hopecom_lnzgbj”;
$dbUser=”hopec_lnzgbj”;
$dbPass=”lnzgbj123″;