Php执行时间太长,需要线程

Php执行时间太长,需要线程,php,performance,Php,Performance,我一直在学习用PHP编程,并制作了一个应用程序,它可以制作一些独立的东西,问题是完成任务大约需要20-30秒,因为代码是按顺序执行的 我在阅读时发现php中没有线程,有什么方法可以绕过它吗 编辑:添加信息: 基本上,我的应用程序将从新闻、天气等(使用file\u get\u contents($url))中查找信息,但会按顺序执行功能,换句话说,首先获取新闻,然后获取天气信息,然后依次执行,不要同时运行它。使用一些作业队列软件,如Gearman或RabbitMQ,然后-将这些操作放入消费者。您提

我一直在学习用PHP编程,并制作了一个应用程序,它可以制作一些独立的东西,问题是完成任务大约需要20-30秒,因为代码是按顺序执行的

我在阅读时发现php中没有线程,有什么方法可以绕过它吗

编辑:添加信息:


基本上,我的应用程序将从新闻、天气等(使用
file\u get\u contents($url)
)中查找信息,但会按顺序执行功能,换句话说,首先获取新闻,然后获取天气信息,然后依次执行,不要同时运行它。

使用一些作业队列软件,如Gearman或RabbitMQ,然后-将这些操作放入消费者。

您提到您正在执行一系列
文件获取内容($url)
-调用。这些都很慢。如果不是每次加载页面时都将这些文件拉入,而是将它们缓存到本地存储并从那里读取,这将是一个巨大的时间节省:这几乎是即时的。当然,你需要记住你需要的信息是多么新鲜


例如,您可以运行cron作业,每隔一分钟左右获取这些文件。然后,您可以让您的网站呈现这些获取的信息:这些信息最多只需1分钟+运行过期脚本所需的时间。

您还可以尝试通过同时向Web服务器启动不同的请求来破解某些线程行为。例如,您的
index.php
将提供一个简单的页面,其中包含许多AJAX调用,例如,
fetchNews.php
fetchWeather.php
。然后,这些请求将由浏览器异步并行运行,您只需启动不同的Web服务器请求,就可以绕过phps对线程的限制。

使用CURL\u MULTI,速度更快


如果您正在阅读大量页面,这将显著减少加载/处理时间。

在不知道您在做什么的情况下,您希望我们如何帮助您?通常不会花费太多时间…告诉我们您正在尝试实现的目标的更多信息…这可能会有所帮助..编辑并添加了一些信息,我不能粘贴我所有的代码,因为它有点复杂。你的应用程序运行在什么操作系统上?使用CURL\u MULTI,速度更快<代码>http://php.net/manual/en/function.curl-multi-init.php“我的应用程序将从新闻、天气中查找信息”-因此他需要的是新的信息,而不是缓存的信息。我怀疑这些网站每3秒更新一次。为什么他一开始会每3秒运行一次代码?如果他这样做了,他就不应该这样做。有一个缓存并不是最好的解决方案。例如,如果他每分钟都从cron作业中提取这些文件,并在Web服务器代码中使用缓存版本,他将大大提高性能。感谢您的回复,但信息总是在变化:p,将是使用示例1的几倍在链接的新的干净php文件上进行测试,以及“致命错误:在第26行的C:\Program Files(x86)\XAMPP\htdocs\index.php中超过了30秒的最大执行时间”:sedit php.ini,将max_execution_time设置为0sad,该链接上的任何代码都不能工作Q_QDo是否安装了CURL扩展名?