3

ImageMagick、IIS 6、Ghostscript、および PHP 5.3.1 が Windows Server 2008 ボックスにインストールされており、PDF ファイルを JPG サムネイルに変換しようとしています。

ただし、動作していないようです。 への呼び出しexec()はリターン コード 1 を生成します (私の理解では、一般的なエラーが発生したことを意味します)。出力変数は単なる空の配列です。$outputは単なる空の配列です。system()代わりに使用すると同じことが起こりますexec()

コマンドラインからコマンドを実行するとうまくいくように見えるので、私の最初の推測は単純な権限の問題でしょう... PDFをディレクトリにアップロードするスクリプトが機能するため、ディレクトリはPHPによって書き込み可能であり、全員が権限を持っていることを確認しましたディレクトリにも書き込みます。

また、セーフモードはオフです。

問題が何であるかについてのアイデアはありますか?

関連コード:

<?php
    $output = array();
    $ret = 0;
    echo exec('convert D:\content\myfile.pdf[0] D:\content\myfile_thumb_1.jpg', $output, $ret);
    var_dump($ret);
?>

注: Mac OS X 上の Apache でこれをテストしますが、ImageMagick または Ghostscript を正しくインストールできないようです。

また、次のことを確認しました。

  • ファイル名の正しい大文字と小文字 (とにかくすべて小文字)
  • 単純な convert.exe に加えて、convert.exe のフル パスを使用する

アップデート:

タスク マネージャーを確認したところ、convert.exe が実行されており、CPU 時間を消費しています。これは、何らかのファイル アクセス許可であることが示唆されています。今すぐ確認します。

4

1 に答える 1

1

IIS の何かに権限の問題があったことが判明しました。Web サイトは、CMD からのコマンドとは異なるユーザーで実行されていました。その結果、IIS では、CMD よりも権限が少ないため、明らかに動作しません。

于 2012-06-06T23:17:52.207 に答える