shell_exec php文件

时间:2010-10-04 09:33:46

标签: php shellexecute pcntl

我目前使用此代码:

if(isset($_POST['url']) && isset($_POST['trefwoorden']) )
{
  mysql_connect('localhost', 'crawler', 'whathasbeenseencannotbeunseen');
  mysql_select_db("crawler");
  mysql_query("INSERT INTO jobs (jobID, url, trefwoorden) VALUES ('', '".$_POST['url']."', '".$_POST['trefwoorden']."')");
  $output = shell_exec("./content.php " .mysql_insert_id());
  echo $output;

}

在我的content.php中,我有以下代码:

#!/usr/bin/php
<?php
echo 'HET WERKT';
?>

现在我想通过填写表单并提交它来查看我的shell_exec是否真正有效:但它根本不回应任何内容。

我写错了代码吗?

3 个答案:

答案 0 :(得分:1)

试试这个。这可能会对你有帮助。

shell_exec('usr/local/bin/php -l content.php'. mysql_insert_id())

shell_exec('usr/local/bin/php -content.php'. mysql_insert_id())

一切顺利。

谢谢,

汉字

答案 1 :(得分:0)

..也许这对你有用:

shell_exec('php -l content.php'. mysql_insert_id())

或者;

  1. PHP在safe_mode
  2. 中运行
  3. Apache没有执行脚本的权限

答案 2 :(得分:0)

为什么要调用PHP文件而不包括它?

此外,我同意Chouchenos,因为这行代码:

shell_exec('php -l content.php'. mysql_insert_id())
如果mysql_insert_id()返回id 132,

将执行如下“php -l content.php132”。

这可能是一个问题,因为content.php132可能不存在。