【发布时间】:2012-12-06 17:28:12
【问题描述】:
我想编写 PHP 脚本,在 Linux 机器上执行 C++ 可执行文件。我使用 exec() 或 system() PHP 函数。但它不执行 C++ 可执行文件。 我的代码如下。 Proc 是编译后的 C++ 可执行文件。完全相同的命令在 shell 中也能正常工作。
echo system('/var/www/image_proc/proc "/var/www/image_proc/images/original/5_1.png" 70 0 0 "/var/www/image_proc/images/processed/5_2.png"');
我检查了执行和写入文件的所有权限。而且我使用绝对路径来确保这不是路径问题。
有谁知道,可能是什么问题? 任何帮助表示赞赏。
【问题讨论】:
-
您看到错误了吗?还是您只是看不到您期望的输出?
-
以下操作有效吗? 如果没有,它会显示什么吗?
-
是否有一些标志,我必须在 php.ini 中添加才能执行 C++ 脚本?
-
如果您使用的是 PHP safe mode。如果是,您需要将
/var/www/image_proc添加到sage-mode-exec-dir。 -
因为 ls 工作...您确定运行 apache 的用户具有执行权限吗?我知道你说你检查过,只是说要仔细检查:)
标签: php c++ linux executable