3

我有一个 C 程序,我已经编译成一个名为 crunch 的 exe。

它接受一个字符串并返回一个哈希字符串。它已经工作了很长时间,但我只需要对其进行一些小改动。它在终端中完美运行,如下所示:

./crunch url-string/with-file.jpg

吐出一个漂亮的哈希字符串。在我的 php 中,我一直在执行它:

$crunch = '~/domains/somewhere.net/html/api/crunch';
        $code = `$crunch $code`;
        $code = mysql_real_escape_string(trim($code));

$code 最初是一个字符串,它是一个 URL。它一直在返回一个哈希值,但不再返回。

我已经重新编译了 C 几次。只是不明白,我试过 php exec() , passthru()。

固定的:

问题是我的 Mac Unix 发行版和 linux 服务器之间的区别。解决方法是登录我的服务器并在那里编译 .c 文件。

鲍勃你的叔叔,又开始工作了。

谢谢大家,我确实检查了大家的建议。有时排除可能的休息有助于专注于这个问题。到处都是虚拟啤酒(或苏打水)!

4

2 回答 2

1

一个可能不完整的列表是:exec(), system(), shell_exec(), backticks, popen(), proc_open(), passthru().

编辑:

检查此警告:

With safe mode enabled, the command string is escaped with escapeshellcmd(). Thus, echo y | echo x becomes echo y \| echo x.

来自function.popen.php

于 2012-07-05T08:04:52.293 回答
1

唉……又一个非自助用户……

http://php.net/manual/en/function.exec.php

注意权限。

于 2012-07-05T08:00:25.387 回答