PHP system() - 返回状态始终为 0

标签 php unix system return status

我需要运行以下脚本。

// File: script_a.php
<?php exit(1); ?>

// File: script_b.php
<?php 
     system('php script_a.php', $return);
     var_dump($return);
?>

现在我的问题是:在我的 Windows 系统上运行 script_b.php 会按预期显示 int(1)。在我们的 Unix 服务器上,我总是得到 int(0),这让我无法检查 script_a.php 中是否发生了某种故障。

有人知道这个问题以及如何解决吗?

最佳答案

您可能想检查它是否在 Unix 机器上调用了正确的 php 可执行文件。在许多 UNIX 系统上,您需要调用 php 的 php-cli 可执行文件以在命令行上使用。 另一件要检查的事情是权限。可能执行 script_b.php 脚本的用户没有执行 script_a 的权限?

关于PHP system() - 返回状态始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131886/

相关文章:

linux - 使用 c 中的 execvp 系统调用在后台运行程序

system - 我应该使用什么元素类型在 SysML 中对消息及其数据元素进行建模?

javascript - 带有 PHP echo 的 Unix 时间戳 Chart.js

PHP重构工具

linux - 当我尝试用空格替换新行、制表符和连续空格时,字符 'a' 被删除

bash - 使用转换表替换大表中的值

php - 如何处理大量重复的 HTML 代码

php - 如何分配来自mysql数据库的整数值以便在前端呈现字符串?

c - 如何fork最年轻的进程

python - 在 python 中获取 os.system 的输出并在之后处理它