首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php执行问题

php执行问题
EN

Stack Overflow用户
提问于 2012-09-29 16:47:55
回答 3查看 898关注 0票数 0

可能重复: Call another PHP script and return control to user before the other script completes How to run a PHP script asynchronously from a another PHP script?

在PHP中使用exec()有一些问题,但我不知道如何解决。我想使用exec()在同一个目录“异步”执行另一个php脚本。我在浏览器中打开a.php来调用b.php,但是它不起作用。(本地主机是windows 7上的xampp)

a.php:

代码语言:javascript
复制
<?php
exec('php \b.php', $output, $r);
print_r($output);
print_r($r);
?>

b.php:

代码语言:javascript
复制
#!/usr/bin/php
<?php
echo time();
?>

浏览器中的输出

代码语言:javascript
复制
Array ( ) 1

我是使用PHP CLI的超级初学者.我不知道这事..。有人能举一些简单的例子吗?例如,应该用a.php和b.php编写什么。

如果你能给我一些指导或建议的话,非常感谢!

编辑:

我试过以下代码,但它不能“异步”运行.如何重定向输出?

在浏览器中打开callexec.php。

callexec.php

代码语言:javascript
复制
<?php
exec('C:\xampp\php\php.exe testexec.php');
?>

testexec.php

代码语言:javascript
复制
<?php
echo "start: ",time(),"\n";
sleep(10);
echo "\n";
echo "end: ",time(),"\n";
?>

再次感谢。

EN

回答 3

Stack Overflow用户

发布于 2012-09-29 16:53:42

由于您已经告诉shell脚本它是一个带有#!/usr/bin/php的php脚本,您不需要为您的脚本调用php,您可以像命令行中的任何脚本一样调用它:

代码语言:javascript
复制
exec('b.php', $output, $r);

顺便说一句,我假设您可以从命令行调用b.php,而不会出现任何问题。

票数 1
EN

Stack Overflow用户

发布于 2012-09-29 16:55:21

如果在同一平台上有另一台服务器,则端口号可能会出现问题。例如,它可以是oracle数据库服务器、mysql、Apache等。请确认不同服务器的端口号是否相同。

票数 0
EN

Stack Overflow用户

发布于 2012-09-29 17:03:17

为什么让事情变得复杂?只是使用包含还是要求?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12654516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档