这是风雪之隅的文章,主要是我正好也有类似的情况发生,先介绍完他的事件后,我再贴出我问题吧。
原文地址为:ini_set memory_limit在safe_mode下不可用
内容如下:
如果你ini_set(“memory_limit”, *)返回了false,不妨检查下, 是否开启了安全模式(手册中没有述及)..
一句话, 记录下:在安全模式下不能使用ini_set的指令:
- 1. max_execution_time
- 2. memory_limit
- 3. child_terminate
--EOF--
附:上文说的ini_set的问题,可以查看一下手册的Chapter 9. Runtime Configuration之How to change configuration settings。
风雪之隅的这个问题其实很常见,但却不会影响系统运行,无非是设置返回false了而己,但我说的是set_time_limit(),这个函数事实上也不会在safe_mode里运行,而且如果你开启了error_reporting(7)后,系统好象是直接无法访问【单位的网站就因为这个而导致程序出错】,由于我仅仅加了这一行,所以我在这行下面加上exit()后才发现safe_mode下,无法set_time_limit。其实这就是上面所说的ini_set中不能使用的max_execution_time。但问题是set_time_limit会有出错信息,而ini_set仅仅返回false。。这是两个不同的概念。
因此,如果你的服务器开启了safe_mode,你一定要看手册的这一章节:Functions restricted/disabled by safe mode。否则遇到问题,你会很头疼的。有的服务器喜欢在上传后直接把文件改到某个用户组,甚至改UID,如果这样,那move_upload_files就不能使用了。当然这种情况很少见,只是需要注意一下。