我需要运行以下脚本。
// 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/