我编写了一个 PHP 脚本,它通过一个文本文件(实际上它是来自 imdb 的“列表”文件)运行并将其存储在我的本地 MySQL 数据库中。
public static function updateMovies( $list ) {
$offset = 15; // movies.list start with movie names at line 16
$handle = fopen($list, "r") or die("Couldn't get handle");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle);
if($offset!=0)
$offset--;
else
if($buffer[0] != '"'){
$title = trim( substr( $buffer, 0, strpos( $buffer, '(' ) ) );
$year = intval(trim( substr( $buffer, strpos( $buffer,'(' )+1, 4 ) ));
Movie::create( $title, $year );
}
}
fclose($handle);
}
}
由于这些列表文件高达 200MB,因此需要很长时间。默认情况下,PHPMAX_EXECUTION_TIME
设置为 30 秒。
我将此值设置为 300 只是为了尝试它是否有效。例如,我的“movies.list”文件大约 80MB,使用此脚本 300 秒在我的数据库中创建了大约 25000 行。这不起作用,因为我什至没有看过以“B”开头的电影。
我知道我可以将其设置MAX_EXECUTION_TIME
为 0(无限制),但将来我不希望该数据库位于我的本地主机上。MAX_EXECUTION_TIME
我希望它在我的网络服务器上,据我所知,我的网络服务器主机设置为 90。
任何想法你会如何处理这个?