PHP上的系统调用

PHP上的系统调用,php,system-calls,Php,System Calls,这方面有点问题。 脚本A调用/包括脚本B。脚本B必须执行系统调用并返回到脚本A。在火焰中失败。 当我单独调用脚本B时,它工作得很好,我一辈子都不能通过调用A来让它工作。我已经尝试过了 包括在 在一个系统内用另一个系统调用调用它 制作一个调用B的bash脚本,然后用a(I N C E P T I O N)调用该bash脚本 我的选择是什么 编辑代码: <?php //B.php //works fine when called on its own function readsite (

这方面有点问题。 脚本A调用/包括脚本B。脚本B必须执行系统调用并返回到脚本A。在火焰中失败。 当我单独调用脚本B时,它工作得很好,我一辈子都不能通过调用A来让它工作。我已经尝试过了

  • 包括在
  • 在一个系统内用另一个系统调用调用它
  • 制作一个调用B的bash脚本,然后用a(I N C E P T I O N)调用该bash脚本
我的选择是什么

编辑代码:

<?php
//B.php
//works fine when called on its own
function readsite ($url)
{
      $output=system("curl -ks $url");
      return $output;
}
?>


<?php
//A.php
include_once("B.php");
$url="www.google.com";
$read=readsite($url);
echo $read;
?>

我假设您试图解决的问题是获取网站内容

尝试以下方法:

function readsite($url) {
    $ch = curl_init();
    curl_setopt($ch,  CURLOPT_URL, $url);
    curl_setopt($ch,  CURLOPT_RETURNTRANSFER, true); 
    $result = curl_exec ($ch); 
    curl_close($ch);
    return $result;
}
curl扩展为您提供了一种在php中获取内容的相对合理和稳定的方法

但这假设了php curl扩展的可用性


当然(正如lonesomeday指出的)您应该将方案添加到url(使用'http://www.google.com'作为url)。

您遇到了什么错误?您能给出如何调用它以及如何获得结果的源代码示例吗?您的脚本做什么?也许你有一些不同的路径/环境变量/等等,但我不知道。。。更详细一点。B.php可以自己执行,因为它所做的只是定义函数,而不是实际执行它。如果脚本在火焰中失败,你不应该尝试寻找灭火器而不是在这里发布吗?我从代码中猜测,你需要在URL之前设置
http://
,但我们需要看到错误。