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

标签 php c system

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

我的 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")以及它的所有变体,代码仍然不执行。我做错了什么简单的事情吗?或者我应该简单地使用不同的方法来检查脚本?

最佳答案

正如您在问题中所建议的,php 脚本位于“/var/www”中。 您是否有在该目录中执行的权限?

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 执行测试。

关于php - 我如何使用 system() 从 c 程序调用 php 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24848243/

相关文章:

php - 我们可以用 php cURL 欺骗 $_SERVER ['REMOTE_ADDR' ]/user ip 吗?

javascript - 单击提交表单链接,包括表单参数字段

php - 获取 PHP 数组中的最小值并获取对应的键

c - 如何在c中获取system()命令的状态

php - CodeIgniter Controller 总是调用索引函数

java - 单行函数是否需要大括号?

c - flex bison 和 yyparse 的段错误

c - 结构、类型定义和 C 头文件;如何在没有 .c 文件的情况下集成

c - Linux 和 C : System() Command

android - 如何在 android 系统/root 中运行应用程序