如何使用system()从c程序调用php脚本?

时间:2014-07-20 07:12:25

标签: php c system

我正在编写一个c程序,它将在后台每隔几秒调用一次php脚本。因此,当您第一次调用此程序时,它将通过fork创建子进程,然后退出父进程,而子进程将处于无限循环中。到目前为止,在infinte循环中,我在hte while循环中有行system("echo hello >> daemon.txt"),并且它相应地更新,所以我知道该过程正在运行。但是,当我调用我的脚本时,似乎它没有执行。

我的php脚本timeChecker.php

#!/usr/bin/php <?php $handle =fopen("hello","a"); fwrite($handle, "boo\n"); fclose($handle); ?>

当使用php timeChecker.php或./timeChecker.php从命令行调用时,代码将按原样执行。

但是,在尝试多种调用命令的方法(例如system("php timeChecker.php")system("/usr/bin/php timeChecker.php")system("/usr/bin/php var/www/timeChecker.php")system("/var/www/timeChecker.php")及其所有变体后,代码仍然无法执行。有什么简单的我做错了吗?或者我应该使用不同的方法来检查脚本?

1 个答案:

答案 0 :(得分:0)

正如您在问题中建议的那样,php脚本位于&#34; / var / www&#34;中。 您是否具有在该目录中执行的权限?

test是通过system()调用脚本的c程序。 我已经这样做了:

    sudo mkdir /var/www/script_dir
    sudo mv timeChecker.php /var/www/script_dir
    sudo mv test /var/www/script_dir
    sudo chown -R myusername:myusername /var/www/script_dir

从script_dir执行测试。