0

wamp 2.2e を使用しています。サーバーで PHP をテストしましたが、動作します。

これで、実行したい scriptA.py というスクリプトができました。私はセーフ モードを使用していません。また、php.ini の disable_functions 行が空です。わかりましたので、試しました:

 exec("C:\wamp\www\scriptA.py")
 exec('C:\wamp\www\scriptA.py')
 exec('C:\\wamp\\www\\scriptA.py')

system() と同じ... " "で試しましたcmd /c..

どれも機能しませんでした。

潜在的な理由も見つかりました-おそらく CALC コマンドを使用して cmd に権限を設定する必要がありますが、自分のユーザーが何であるかわかりません。それはコントロールパネルのコンピューター名ですか-> system ?

私を助けてください


OK、進行状況があります。ブラウザにエラーが表示されます。

Warning: exec() [<a href='function.exec'>function.exec</a>]: Unable to fork [C:\wamp\www\Telnetshutdown.py] in C:\wamp\www\index2.php on line 2
# Time Memory Function Location 
1 0.0005 362784 {main}( ) ..\index2.php:0 
2 0.0005 362912 exec ( ) ..\index2.php:2 

(私が試してみると同様ですsystem())-それは役に立ちますか?

4

2 に答える 2

0

Python.exe がユーザーのファイルにある可能性は低いため、おそらく Python 実行可能ファイル経由でこれらを呼び出す必要がPATHあります。apache

exec('C:\Python3\Python.exe C:\wamp\www\ScriptA.py');

Windowsにはいくつかの不満がありexecます。apachePython コードを PHP にリファクタリングする方が、このようにディスク全体へのアクセスをユーザーに許可するよりもはるかに時間がかからず、安全であることに気付くかもしれません。

于 2013-06-04T11:54:22.913 に答える
-1

ActiveState python をインストールすると、インストーラーは拡張子が .py のファイルを python.exe プログラムに関連付けます。したがって、必要なことはファイルをダブルクリックすることだけです (Windows 2k (および場合によっては他のもの) では、ファイル名をそのまま入力するだけです (つまり、foo.py を入力すると、コマンド シェルは関連するアプリケーションを呼び出すことを認識します)。

http://www.activestate.com/Products/ActivePython/

編集;

これはあなたの質問を解決します: http://www.iis-aid.com/articles/trouble_shooting/warning_exec_functionexec_unable_to_fork

于 2013-06-04T11:54:44.807 に答える