20.5.3 避免超时

当通过FTP传输文件时,可能会遇到的一个问题就是超过最大可执行时间。这种情况是否会发生是可以预知的,因为PHP将给出一个出错信息。如果服务器运行在一个非常慢或拥挤的网络上,或者正在下载一个很大的文件(如电影剪辑),这种情况就很可能发生。

配置文件php.ini定义了所有的PHP脚本最大可执行时间的默认值。此默认值设置为30s。

这样,就可以避免脚本失去控制地运行。然而,当正在通过FTP传输文件时,如果到其他网址的连接速度非常慢,或者文件很大时,文件传输需要的时间可能就会比这个默认值要大。

幸运的是,对于一个特定的脚本,我们可以通过函数set_time_limit()来修改这个最大可执行时间。调用这个函数将重新设置脚本所允许的最大可执行时间(以s为单位),计时是从调用此函数的时候开始。例如,如果调用函数:


set_time_limit(90);


这样,这个脚本将从这个函数的调用开始重新运行90s。