【PHP中的线程?】教程文章相关的互联网学习教程文章

如何修复PHP模块线程安全/非线程安全不匹配?【代码】

这超出了错误日志:PHP Warning: PHP Startup: BOPEE Extension: Unable to initialize module Module compiled with build ID=API20090626,TS,VC9 PHP compiled with build ID=API20090626,NTS,VC9 These options need to matchin Unknown on line 0PHP Warning: PHP Startup: CustomExt Module: Unable to initialize module Module compiled with build ID=API20090626,TS,VC9 PHP compiled with build ID=API20090626,N...

使用pthreads的PHP多线程,类没有在Thread实例中加载【代码】

所以我使用pthreads来异步写入MongoDB(我想尝试React但它不支持PUT和POST HTTP方法)但是在使用Thread类时我遇到了一个问题.出于某种原因,当我将代码放在__construct()和run()方法中时,执行它会给出一个错误,即找不到某些类.我正在使用相同的Composer自动加载器,并且在我不使用Threading API时没有问题.关于它为什么会发生的任何想法?<?phpclass WriterThread extends Thread {private $validator;private $pathResolver;private $...

如何在php中跨线程共享全局变量?【代码】

在多线程中,全局变量或资源在线程之间共享.我在c中使用pthread库#include <stdio.h> #include <pthread.h> #include <unistd.h>void *worker(void *);int ctr = 0; pthread_mutex_t lock;int main(int argc, char *argv[]) {pthread_t t[2];int i = 0;//~ pthread_mutex_init(&lock, NULL);while(i < 2){pthread_create(&t[i], NULL, &worker, NULL);i++;}pthread_join(t[0], NULL);pthread_join(t[1], NULL);//~ pthread_mutex_de...

PHP中的多线程编程,以避免运行时限制

我知道PHP不是多线程的,但我和朋友谈过这个问题:如果我有一个大的算法问题,我想用PHP解决不是简单地使用“curl_multi_xxx”接口并在同一个上启动n个HTTP请求的解决方案服务器.这就是我称之为PHP风格的多线程. 在典型的Web服务器环境中是否存在此问题?等待“curl_multi_exec”的主请求不应该计算任何时间与其最大运行时间或内存长度. 我从来没有在任何地方看到过将其作为一种解决方案来防止脚本被过于严格的PHP管理设置所杀死. 如...

线程安全启用服务器PHP

我正在尝试在php中实现线程,在Windows上使用xampp我可以这样做,但是我有一个带有cpanel的linux服务器,并且在配置中线程安全被禁用,我怎样才能在我的服务器上启用linux?我调用phpinfo()并显示“线程安全”被禁用解决方法:您有两种选择: >在分发包存储库中查找线程安全包>使用–enable-maintainer-zts从源代码编译PHP 我很确定cPanel有一个配置屏幕,可以让你重新配置和重建,快速谷歌出现了这个,这似乎相关: http://forums.cpanel....

从PHP工作者到Python线程

现在,我正在运行50个PHP(在CLI模式下)每台机器上正在等待接收其工作量(作业)的单个工作人员(进程).例如,调整图像大小的工作.在工作负载中,它们接收图像(二进制数据)和所需大小.工作人员完成它的工作并返回重新调整大小的图像.然后它等待更多的工作(它以聪明的方式循环).我假设我有相同的可执行文件,库和类加载并实例化50次.我对么?因为这听起来不是很有效. 我现在想要的是一个处理所有这些工作的过程,能够使用所有可用的CPU内核,同...

PHP线程池【代码】

编辑:澄清和简化:我正在寻找一种“好”的方式,每当Stackable结束时(使用第一个Stackable中的数据添加第二个),可以向Pool提交更多可堆叠对象.我有想法轮询对象,直到一个结束(低效和丑陋)并传递对Pool对象的引用(我无法使其工作).基本代码是这个:https://github.com/krakjoe/pthreads/blob/master/examples/Pooling.php 现在,完整描述: 我正在开发一个PHP应用程序,它已经增长太多而且需要花费很多时间.因此,我正在尝试多线程该应...

为什么在PHP中使用多线程不是一个好主意?【代码】

我知道php没有线程.但在本教程中,他们表明通过使用主机操作系统形成能力,我们可以实现它.它还说它不会在生产代码中这样做.为什么这不是一个好主意? 这是一个示例代码$processID = pcntl_fork(); if($processID) {echo "I'm in the parent process!"; } else {echo "I'm in the child process!"; }这是tutorial.解决方法:分叉是否创建了一个线程? 当我们分叉一个进程时,进程空间,也就是说进程所需的库和代码所在的内存区域是重复的...

在PHP中并行/多线程执行文件【代码】

我有一个cron文件cron / cron1.php.我为cron运行1分钟设置了这个. 所以对于下一个过程,执行需要1分钟. 现在我想在三分钟内并行运行这个文件.该文件的执行时间超过2分钟. 我可以在这样的单个文件中并行运行此文件 file1.php<?phpinclude("cron/cron1.php"); // run seperatelysleep(5);include("cron/cron1.php"); // run seperatelysleep(5);include("cron/cron1.php"); // run seperately ?>在上面的文件中,cron1.php会执行5秒的差...

什么二进制文件 – 线程安全/非线程安全,与PHP / WAMP一起使用?

我正在尝试在Windows 7,WAMP服务器2.2,PHP,Komodo IDE平台上设置远程调试.我需要从以下列表中选择一个Komodo调试器DLL: > nts-v6-x86> nts-vc9-x86> ts-v6-x86> ts-v9-x86 在这种情况下,不知道选择哪种类型的二进制文件.有人能告诉我吗?解决方法:Wamp 2.2已经使用VC9构建.这意味着要在PHP 2.2中使用PHP的mod_php,您需要PHP的线程安全版本. 对于Fastcgi(使用mod_fastcgi)或CLI使用,您可以并且应该使用非线程安全(NTS)版本.

php – 在PRESTASHOP中的多线程URL上找不到所有CSS和JS文件【代码】

我在prestashop网站上启用了多重选项.我还设置了一个名为’abc’的商店,并设置了其网址’http://example.com/abc‘.我的网站主页运行良好,但当我去我的商店网址’http://example.com/abc‘它没有正确加载,因为它无法找到头标记中的所有js和css文件,它显示404找不到所有的CSS和js在consol文件中.那可能是什么问题.感谢您提前帮助.解决方法:>从config文件夹中打开vim config / settings.inc.php>找到包含__PS_BASE_URI__设置的行,然后...

如何在不阻塞线程的情况下调用PHP?【代码】

我有2个PHP文件.一个文件是caller.php,另一个是worker.php caller.php将在(linux)系统上启动worker.php并且caller.php应该立即结束(而worker.php仍然在服务器上工作) worker.php占用了大量时间,它会将状态写入数据库或文件. 我希望能够在浏览器中打开caller.php,启动’php worker.php’,关闭浏览器,在5分钟后返回并检查状态..(或者脚本将在完成后发送邮件) – 任何想法怎么做?解决方法:您可以结束客户端连接并继续处理,全部完成.如...

PHP多任务,并发并行,多线程,协程等知识点理解【代码】

对于单核处理器,多进程实现多任务的原理是让操作系统给一个任务每次分配一定的 CPU 时间片,然后中断、让下一个任务执行一定的时间片接着再中断并继续执行下一个,如此反复。 由于切换执行任务的速度非常快,给外部用户的感受就是多个任务的执行是同时进行的。 多进程的调度是由操作系统来实现的,进程自身不能控制自己何时被调度,也就是说: 进程的调度是由外层调度器抢占式实现的 而协程要求当前正在运行的任务自动把控制权...

如何在PHP7中使用pThreads多线程?工人,游泳池等【代码】

我目前想学习和实现pthreads – github.我已经编译了php7的必要组件并验证了线程安全性已启用.我当前的示例代码有4个属于父类Canine的子类.我应该如何相应地调用Thread类来执行下面显示的所有类中的bark()?记住当类从4增加到100时扩展的能力.池?工作人员?class Database {private $_host;private $_user;private $_pass;private $_dbname;private $_dsn;private $_options;public static $pdo;private $error;private $stmt;pub...

为什么PHP不支持多线程?

我到处都读过PHP不支持多线程,但有一些解决方法.但是为什么PHP不支持多线程?对于服务器端脚本语言,这似乎是一个明显的遗漏.解决方法:几年后编辑:你可以使用pthreads进行PHP多线程,但你真的想要吗? 我不确定pthreads是否可用于许多托管环境.坦率地说,我并不急于找出答案. PHP在许多应用程序中的最大优势之一是它的隔离:一个进程,一个请求.多处理通常通过在请求期间对作业进行排队并在其他地方执行来完成.例如,Laravel有“队列”...