2017-11-02 14 views
1

コードフォームを1つのWAMPコンピュータに移動し、pdftkを実行するコードが動作しなくなりました。私はpdftk.exeの権限を比較しており、両方のマシンで同じです。私は、コマンドプロンプトから同じコマンドを実行すると、それは動作します。私はexec("whoami")をスクリプトに追加し、ユーザーは両方のコンピューターで同じです。 exec('dir 2>&1', $out)のようなものを実行すると、execがPHP内でフォームを処理していることがわかります。PDFtkコマンドがexecから実行されていません

私はテストするために簡単なPHPファイルを作成したが、うまくいきません。

<?php 
$String = 'pdftk.exe > "c:\temp\temp.txt"'; 
exec("$String"); 
exec("pdftk.exe > \"c:\temp\temp.txt\""); 
?> 

execコマンドの結果として、0バイトのファイルが作成されます。

私は、コマンドラインから

pdftk.exe > "c:\temp\temp.txt" 

を実行する場合に予想されるとして、それはTEMP.TXTファイルにpdftk.exeの結果を出力します。

これは、ある種のアクセス許可の問題である必要がありますが、実行可能ファイルのアクセス許可が同じであるようです。これについて私の心を失う。私の意見で

答えて

0

、最初の行は次のようになります。

<?php 
$String = 'pdftk.exe > "c:\temp\temp.txt"'; 
exec($String); //removed quotes 
?> 

そして、あなたはこれをしようとした場合どのような二行目、のために?

<?php 
exec('pdftk.exe > "c:\temp\temp.txt\"', $outputAndErrors, $returnValue); 
var_dump($outputAndErrors); 
?> 

またはあなたの最初の ">" を削除する場合は?

<?php 
exec('pdftk.exe "c:\temp\temp.txt\" 2>&1', $outputAndErrors, $returnValue); 
var_dump($outputAndErrors); 
?> 

これはあなたを助けるかもしれないいくつかのテストです。

関連する問題