草庐IT

使用系统命令并在后台运行的 php 脚本——它仍会按顺序运行吗?

我有以下脚本update_pos_databases.php(简化版)当我调用它时,我会执行以下操作:nohupphpupdate_pos_databases.php>results.txt2>&1由于我在php脚本中使用了系统命令,如果其中一个系统命令因某种原因失败,使用上述命令时是否会出现任何问题?我觉得我做的很好;但在部署此更改之前,我想知道在使用nohup调用的脚本中使用system()的任何危险。(我不希望脚本因某些随机原因而死掉)。上面脚本中的个别系统命令也会被阻塞吗?我想确保它们一个接一个地运行,而不是同时运行。 最佳答案

php - 无法在后端 Magento 上导出导入产品

我尝试使用此https://www.siteground.com/tutorials/magento/import-products.htm将产品+类别从Xmagento导出到Ymagento|仅供引用,导出的文件是正确的,甚至是XML或CSV类型。但是,我在导入它时发现错误。它说我找到了84行,但它只有导入的1条记录,当我检查管理产品时,没有导入任何产品。我尝试了CSV和XML文件,结果是一样的。两者的magento版本相似,是否可以调试它? 最佳答案 在您的导入过程中,84条记录意味着您的csv文件中有84行而不是84个产品!我

php - GearmanManager 在后台

我们在Ubuntu上使用Gearman/PHP来委托(delegate)我们的流程。在这台(开发)机器上,我们打开了几个终端窗口来分别启动客户端和工作人员,但现在在实时机器上,我们需要将我们的客户和工作人员发送到后台,这样我们的终端就空闲了。我们找到了brianlmoon的GearmanManager。它看起来正是我们所需要的,但问题是在它的代码中我们只能找到将工作人员发送到后台的部分,而没有找到与客户端执行相同操作的部分。有人可以给我们更多关于如何使用GearmanManager将所有客户端/服务器进程发送到后台的信息吗? 最佳答案

PHP脚本不会在后台运行

我正在尝试在后台运行一个phpCLI脚本,但它不会运行-它的状态为StoppedSIGTOU(尝试写入输出)-这是详细信息MacOSXLion10.7.2带有Suhosin-Patch(cli)的PHP5.3.6(构建时间:2011年9月8日19:34:00)我创建了一个基本脚本test.php以下是各种测试的结果:-php-ftest.php(显示Helloworld)php-ftest.php>test.log2>&1(Helloworld被放入test.log)php-ftest.php>test.log2>&1&---我得到[1]+Stopped(SIGTTOU)php-fte

php - 即使从 a/c 注销,提交表单后 php 脚本将如何在后台运行

我正在做一个群发邮件项目。一切都很好,但问题是我有一个表格。提交后,我从数据库中检索大量电子邮件ID(大约3000封电子邮件)。我为每封电子邮件设置了3秒的间隔(使用sleep()方法)。大约需要9000秒。在php脚本执行完成之前,用户不希望停留在同一页面中。如何在退出widows平台后在后台运行php脚本?如果用户再次登录,应该可以看到一个进度条。有没有可能不使用Cron作业?我需要一个解决方案。谁能帮我解决这个问题? 最佳答案 要在后台运行进程,我们可以使用'wge'命令,它有很多选项可以与like(-r,-o,-p)一起使用

php - 使用 PHP exec() 在后台 Linux 服务器中运行脚本

我正在尝试使用exec()函数触发一个PHP脚本在后台运行,但我无法让它工作。我在stackoverflow和其他论坛上阅读了无数帖子,并尝试了许多变体,但都无济于事。服务器信息:OperatingSystem:LinuxPHP:5.2.17ApacheVersion:2.2.23HomeDirectory:/home1/username我目前正在使用代码:exec("/home1/username/php/home1/username/public_html/myscript.php>/dev/null&");当我运行上面的脚本时,我的cPanel错误日志中没有error_log和错

php - shell_exec 没有在后台运行?

我有以下执行完美但不是在后台执行的程序?它实际上会停止页面加载,直到它完成,这是不好的。shell_exec("/usr/bin/php/home/public_html/pages/test/backg.php{$user_info}{$user_info2}{$user_info3}&");我也试过exec("/usr/bin/php/home/public_html/pages/test/backg.php{$user_info}{$user_info2}{$user_info3}&");我以为&意思是它会执行然后让保留页面继续执行? 最佳答案

php - 在后台运行异步作业 (laravel)

我知道Laravel的队列驱动程序,例如redis和beanstalkd,并且我读到您可以增加beanstalkd等的工作人员数量。但是我不确定这些解决方案是否适合我的场景。这就是我需要的;我通过套接字连接收听XML提要,数据一直在快速传输。永远。我在一秒钟内得到了数十个XML文档。我逐行从这个套接字中读取数据,一旦到达XML结束标记,我就将缓冲区发送到另一个进程进行解析。我以前只是用base64对xml进行编码,然后为每个xml运行一个单独的php进程。shell_exec('phpparse.php'.$base64XML);这使我能够非常快速地解析这个永无止境的xml数据。有点像

php - 使用末尾带有&符号的系统命令不会在后台运行该进程

我正在执行一个简单的调用来恢复mysql备份,这需要大约45分钟才能在我的一台服务器上完成。system("mysql-u$user-p$pass$db以这种方式运行它会锁定我的浏览器,我必须等到它完成才能做任何事情。这在我的其他服务器上运行良好。哪些设置可能会阻止它在第一台服务器上运行? 最佳答案 您仍然拥有输出管道(stdout&&stderr)的“句柄”,它可以完全防止后台运行。在末尾附加一个>/dev/null2>&1。 关于php-使用末尾带有&符号的系统命令不会在后台运行该进

php - 如何编写在后台运行的异步 web 服务 php

我要使用php编写后台处理Web服务,即使用户关闭浏览器也需要在后台运行,有什么方法可以使用php来完成此操作吗?更多信息是的,我正在使用symfony/php从事大型网络项目(工资单)。它需要在每个月当工资单用户来并单击处理按钮时处理。那么工资单应该在没有apache服务器超时的情况下处理。为此,我希望编写在后台运行的异步Web服务。 最佳答案 正如评论者所说,您应该使用CRONjob因为它最适合解决这类问题。但是,您需要在用户点击时启动您的作业。这是我要使用的:在用户点击时,在某个表中创建一行,或创建一个文件具有执行任务所需的参