香港独立IP空间
香港php空间
美国php空间
域名注册

Ecshop程序有自带的初始化设置运行内存和运行时间的设置,当您的网站随着访问量和数据的增长,那么这个默认的php执行内存的大小就不一定能符合贵站的发展需要了。这个时候,一旦出现:“Fatal error: Maximum execution time of 30 seconds exceeded in \includes\lib_insert.php on line 16”这样的错误。”时候,一般都是因为php程序执行内存太小,而导致的。
设置php执行内存的大小的方法有两种。第一种,直接在服务器上设置php.ini文件里面参数,第二种就是修改程序的php代码,增加php执行内存大小。

这两种情况,就需要您做出判定,该用那种方式更符合您的需要。
设置服务器php环境的php.ini参数,来实现增大php执行内存。这个操作,一般是拥有独立服务器的用户可以操作,而且作为使用php虚拟主机空间的用户,就无法做到。而且我们设置的时候,还需要根据网站实际情况来判断,如果是服务器的php执行内存已经足够大,还是报错,那么,这个情况一般是网站源代码中定义的默认的php执行内存太小而导致。那么,我们就可以看出来,这个php执行内存是一个双向的设定。服务器和自己网站源程序中。上面是一些理论性的东西,接下来,就是结合我今天遇到实际情况,来解决这个问题。

环境分析:
无忧主机香港免备案php空间的服务器,作为空间提供商,不可能会把php执行内存设置太小,因为这个会影响用户使用。无忧主机服务器已经设置了足够大的执行内存。那么,ecshop出现这个提示,一般无忧主机小编认为是ecshop源码中设定的默认内存太小,而用户网站数据太大,导致这个提示。解决的方法就是很简单了,只需要找到ecshop源码中,定义php执行内存的地方,修改或增加一条代码就可以解决问题。如下:
在ecshop源码中的…/includes/init.php是设置php执行内存大小的地方,默认64M。我们只需要把init.php文件下载到本地,然后修改” memory_limit”后面的数值就可以了。如下代码::
/* 初始化设置 */
@ini_set(‘memory_limit’, ’64M’);
@ini_set(‘session.cache_expire’, 180);
@ini_set(‘session.use_trans_sid’, 0);
@ini_set(‘session.use_cookies’, 1);
@ini_set(‘session.auto_start’, 0);
@ini_set(‘display_errors’, 1);
你只需要按照这个上面设置,就可以解决这个问题。无忧主机小编,以前还处理一个ecshop后台超时的问题,提示结果也是和这个一样,但是那个是由于ecshop的网站缓存导致。详细的您可以通过“ECSHOP迁移后访问网站提示MAXIMUM EXECUTION TIME OF 30 SECONDS EXCEEDED IN”来了解。

本文地址:http://www.51php.com/ecshop/12149.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档