0

ファイルのアップロードが画像であると思われる場合に画像のサイズ変更オブジェクトを返すファイルアップロードクラスがあります。画像サイズ変更クラスの構成は、次のように始まります。

$this->resource = imagecreatefromstring($this->getData());

if (!is_resource($this->resource)) {
  return $this->error(IMAGE_ERR_SOURCE_CREATION_ERROR);
}

$this->getData()tmp_name配列からfile_get_contentsから返された文字列を返します$_FILES[..]

約束は次のとおりです。開発サーバーでは完全に正常に動作します5.3.0imagecreatefromstring()、本番サーバーでは失敗します5.3.5

なんで?頭がおかしくなりません。base64を使用して開発と製品の一連の画像を比較しましたが、それらは同じです。.0からに変更されたものを確認する必要があります.5か?

編集:はい、GD2がインストールされ、正しく機能しています。ちなみに、WordPress(3.1)もこのサーバーにインストールされており、すべての画像機能が正しく機能しているので、私はとても戸惑っています。

編集2

display_errorsを使用してデバッグした後(最初にこれを実行する必要があることはわかっています)、返されるエラーは次のとおりです。

Warning: imagecreatefromstring(): No JPEG support in this PHP build

これは、JPEGをサポートするGDを再インストールする必要があることを意味しますか、それともインストール後に有効にできますか?IEを今すぐ使用できますか?

4

1 に答える 1

2
  1. 本番サーバーにGDがあり(<?php phpinfo(); ?>またはを使用$> php -m)、正しく構成されている(およびを使用している)$> php --re GDことを確認します$> php --ri GD
  2. 本番サーバーで表示エラーを有効にする(一時的に)
  3. [2]が失敗した場合は、error_reporting(E_ALL)
  4. 本番サーバーでSSHを介してスクリプトテストケースを実行し、失敗するかどうかを確認します(失敗するはずです)
  5. [4]を使用して、それを実行しstrace(Linuxの場合)またはTraceNT(Windowsの場合)、エラーがどこから始まったかを確認します。
于 2011-03-30T10:01:41.100 に答える