3

私はcrunchと呼ばれるexeにコンパイルしたCプログラムを持っています。

文字列を受け取り、ハッシュ文字列を返します。それは長い間機能してきましたが、私はそれに小さな変更を加える必要がありました。それ自体がターミナルで完全に機能します。

./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を数回再コンパイルしました。取得しないでください。phpexec()、passthru()を試しました。

修繕:

問題は、私のMacUnixディストリビューションとLinuxサーバーの違いでした。修正は、サーバーにログインして、そこで.cファイルをコンパイルすることでした。

おじさんのボブス、また働きます。

覗いてくれてありがとう、みんなのアドバイスをチェックしました。休憩の可能性を排除することで、問題に集中できる場合があります。バーチャルビール(またはスパークリングウォーター)がいたるところにあります!

4

2 に答える 2

1

ため息...別の自助努力のないユーザー...

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

許可に注意してください。

于 2012-07-05T08:00:25.387 に答える
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 に答える