我有这个PHP脚本运行了很长一段时间但是一段时间后(由于浏览器限制,当它停止加载页面时)它停止执行代码。
它的基本功能是使用API获取10000篇文章并将它们逐个存储在我自己的数据库中。循环播放大约1200篇以上的文章后,谷歌浏览器旋转/加载图标停止,我回来的所有内容都是空白页面。当我检查数据库时,我可以在数据库中看到结果,但是脚本没有按原样循环遍历所有文章,而是停止了。
我知道从CLI运行会在停止加载时删除默认的浏览器时间限制,但我不知道如何从命令行调用Laravel中的某个控制器方法 ?
答案 0 :(得分:2)
做一个工匠命令。请参阅http://laravel.com/docs/commands
上的文档答案 1 :(得分:1)
由于您实际上正在为数据库播种,因此快速且脏的方式是使用db:seed为您执行此操作:
class MyTableSeeder extends Seeder {
public function run()
{
// Do whatever you need to
}
}
在DatabaseSeeder上启用它:
class DatabaseSeeder extends Seeder {
public function run()
{
$this->call('MyTableSeeder');
}
}
执行它:
php artisan db:seed
更好的方法是创建一个Artisan Command。这是我写的另一个教导如何创建它的答案:Select all rows with a date of right now
答案 2 :(得分:0)
set_time_limit(0)
强制PHP无限期地执行您的代码。