jjzjj

php - 激活 pcntl_fork() ubuntu xampp

我在使用php中的pcntl_fork()函数时遇到一些问题。我正在使用XAMPP并尝试使用该功能,但一直显示此错误:Calltoundefinedfunctionpcntl_fork()我在Google和XAMPP论坛上挖掘了一些东西,但找不到任何完全有用的东西。我发现一些论坛说我需要启用一些名为的配置--enable-pcntl我看到了phpinfo()并且我在配置命令中有那个选项。你能帮帮我吗?提前致谢埃尔卡斯 最佳答案 @Elkas,我不知道你的XAMPP版本,但我电脑上的XAMPP1.8.0带有pcntl扩展名。您可以尝试

PHP pcntl模块安装

我即将开始使用composer使用yii框架,为此我需要这个phppcntl模块。正如我从手册中读到的那样,默认情况下它没有安装在ubuntu中。因此,我找到了一些类似这样的说明mkdirphpcdphpapt-getsourcephp5cdphp5-(WHATEVER_RELEASE)/ext/pcntlphpize./configuremakeThen:cpmodules/pcntl.so/usr/lib/php5/WHEVER_YOUR_SO_FILES_ARE/echo"extension=pcntl.so">/etc/php5/conf.d/pcntl.ini并进行了安装。但

php - 如何中断exec并杀死子进程

我正在尝试使用exec()在PHPCLI脚本中调用长时间运行的shell命令。但我终其一生都无法弄清楚如何中断PHP脚本并终止生成的子进程。似乎只要我调用exec(),我的信号处理程序就会被忽略。以下代码按我的预期工作;如果我向进程发送SIGTERM,它会回显SIGTERM并立即退出。但是,如果我将sleep(60);替换为exec('sleep60');,在sleep结束之前我不会到达我的信号处理程序。我有两个问题:如何获取信号以使用exec(或shell_exec或proc_open)?捕获信号后,如何终止exec产生的任何子进程? 最佳答案

PHP:pcntl_signal 有什么用?

我发现了一大块我以前没见过的代码:declare(ticks=1);pcntl_signal(SIGINT,array($this,"catchSignal"));pcntl_signal(SIGTERM,array($this,"catchSignal"));查了PHP文档中的函数,还是不明白这个是干什么用的。请帮助我了解它的用途以及应在何处实现的一些示例。 最佳答案 declare声明声明在每个“tick”检查事件。一个“滴答”大致等于一行代码。这在命令行PHP脚本中使用,因此您可以捕获中断并优雅地关闭脚本,而不是仅仅杀死它。p

php - 如何使用 PCNTL 并行调用 php 函数

我对不同的服务器有大约10个不同的请求,并且用于按顺序获取与我网站中的函数调用相关的响应。现在,我想针对不同的服务器请求并行调用我的函数。一旦我从任何服务器获得第一个响应,就想停止剩余的进程。目前我这样调用我的函数:my_launch(1);my_launch(2);my_launch(3);my_launch(4);my_launch(5);my_launch(6);my_launch(7);my_launch(8);my_launch(9);my_launch(10);这是顺序执行的;如何使用PCNTL并行运行此代码? 最佳答案

php - 为什么在 php 中使用多线程不是一个好主意?

我知道php没有线程。但是在本教程中,他们表明通过使用主机操作系统的能力,我们可以实现它。它还表示不会在生产代码中执行此操作。为什么这不是一个好主意?这是一个示例代码$processID=pcntl_fork();if($processID){echo"I'mintheparentprocess!";}else{echo"I'minthechildprocess!";}这是tutorial. 最佳答案 fork会创建一个Thread吗?当我们fork一个进程时,进程空间,即进程需要执行的库和代码所在的内存区域被复制,不同但相关的进程

PHP sleep 、pcntl_signal 和滴答声

好的,所以我一直在尝试获取ProcessSignals使用PHP脚本。我遇到了很多我不确定发生了什么的事情,而且我觉得文档没有很好地解释它。假设我按照registeringsignals上的示例进行操作:但是,在我的sig_handler函数中,我在末尾添加了一个exit(1)。echo"Done\n";还会被执行吗?我已经尝试过类似的东西,尽管是在类结构中,而且它只是在我的sig_handler被调用之前。我的类__construct调用函数registerSignals:privatefunctionregisterSignals(){if(function_exists("pcn

php - 无法在 mac high sierra 的自制软件上找到 pcntl

我一直在尝试使用命令在MacOSHighsierra中使用自制软件安装pcntl扩展brewinstallhomebrew/php/php71-pcntlbrewinstallhomebrew-php/php71-pcntl还尝试使用php54、55、56、70我收到错误正在更新自制软件...Error:Noavailableformulawiththename"homebrew/php/php7-pcntl"==>Searchingforapreviouslydeletedformula(inthelastmonth)...Warning:homebrew/phpisshallowc

php - php 中的 pcntl_exec 和 exec 有什么区别?

我已经在http://us1.php.net/manual/en/function.pcntl-exec.php阅读了文档和http://php.net/manual/en/function.exec.php但我真的说不出真正的区别是什么。 最佳答案 Thepcntl_exec()functionworksexactlylikethestandard(unix-style)exec()function.ItdiffersfromtheregularPHPexec()functioninthattheprocesscallingthe

php - 如何在不使用 brew 的情况下在我的 Mac OSX 上安装 PHP 扩展 'pcntl'

因此,我正在尝试在我的MacBookPro(HighSierra10.13.4)上安装pcntl扩展。我试着按照我可以在网上找到的指南进行操作,但是它们都已经过时了,因为Homebrew决定将所有php包移动到它们的核心,并在此过程中删除其中的一些。(https://github.com/Homebrew/homebrew-php,WTF自制软件?!)pcntlphp扩展就是其中之一。这是在三月底完成的,最近才完成。从那以后就没有人问过这个问题了。有没有其他方法可以在Mac上安装pcntl扩展? 最佳答案 他们没有放弃他们决定默认使