-1

数か月前、Windows の Visual Studio でこの C++ コードを作成しました。そのコードから .exe ファイルを作成すると、すべて正常に動作します。Linux Webサーバーに実行可能ファイルを配置できるように、Linuxでも同じことをしようとしています。コンソールから呼び出された場合、私のLinux実行可能ファイルは機能します。しかし、ブラウザ上で実行可能ファイルを実行することはできません。これは、xampp ウィンドウで機能します。

<?php
$imagename = $_GET['imagename'];
exec('inpainting.exe' .$imagename); 
echo "<img src=\"./images/img-uploads/ob_img$imagename.jpg\" />";
?>

xampp Linuxで実行するには? Linux用の新しい実行ファイルを作成しましたが、そのファイルの名前はinpainting_linux

4

1 に答える 1

2

スペースがありません:

exec('inpainting.exe'.$imagename);  
                    ^-- here

(say) のクエリ文字列を指定すると、次のkittens.jpgように実行されます。

inpainting.exekittens.jpg
             ^^---note lack of space

これは、「そのようなファイルまたはコマンドはありません」というエラーを生成することがほぼ確実に保証されています。

そして、上記の私のコメントに注意してください。このコードを使用して、サーバーを破壊するか、少なくとも pwn3d をリモートで取得することを絶対に求めています。公的にアクセス可能なサーバーでこのコードを実行しないでください。または、さらに良いことに、コードを取り出して燃やします。

于 2012-12-28T16:02:19.443 に答える