PHP5 環境下の管理画面でアップロードした画像ファイルが表示できない

ユーザーさんによるシステムの不具合報告です。できるだけ状況を詳しくご報告ください。

モデレータ: webmaster

返信
翡翠
記事: 3
登録日時: 2007年11月12日(月) 02:30

PHP5 環境下の管理画面でアップロードした画像ファイルが表示できない

投稿記事 by 翡翠 » 2007年11月12日(月) 03:43

お初です。

CMSDesigner v1.1.6d においても、PHP5 は正式サポートされていないことは、承知した上で使ってるんですが、奇妙な現象に当たったので報告しときます。
管理画面で画像ファイルをアップロードし、それを表示する、という、ありきたりな処理をさせています。PHP5 環境下でアップロードした画像ファイルのみ、表示することができません。

動作環境は以下の通りです。

サーバー:
Windows Xp Pro Sp2 + Apache2.2.6 + PHP5.2.4 + CMSD1.1.6d
Windows Xp Pro Sp2 + Apache2.2.6 + PHP4.4.7 + CMSD1.1.6d

スキーマ定義:news.schema.xml

コード: 全て選択

<?xml version="1.0" encoding="UTF-8"?>
<schema name="news" caption="ニュース">
	<data name="image1" type="img" caption="画像" alt="True" />
</schema>
デザイン定義:news.details.design.xsl

コード: 全て選択

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="EUC-JP" omit-xml-declaration="yes" />
    <xsl:template match="/entry">
        <img src="{image1}" alt="{image1/@alt}" />
    </xsl:template>
</xsl:stylesheet>
以上。
表示は、news.php の中で

コード: 全て選択

<cmsd:entry name="news" design="details" />
というコマンドを使い、
news.php?eid=00001
news.php?eid=00002
のようにしています。

PHP4 環境下でアップロードした画像は、

コード: 全て選択

<img src="cmsdesigner/viewimg.php?entryname=news&entryid=00001&fileid=00000001&/kouen01.jpg" alt="画像1" />
というタグに変換され、表示も正しくされますが、PHP5 環境下でアップロードした画像は

コード: 全て選択

<img src="/viewimg.php?entryname=news&entryid=00002&fileid=00000001&/kouen02.jpg" alt="画像2" />
というタグに変換されるため、表示できません。PHP5 環境下でアップロードした画像ファイルの src= 部分には、/viewimg.php の前に cmsdesigner が抜けているので当然ですね。alt 部分は、どちらも正しく変換されているようです。

奇妙に感じるのは、表示するためにブラウザでアクセスした時に動作している PHP のバージョンではなく、管理画面でアップロードした時の PHP のバージョンで、変換されるタグが異なってくることです。PHP4 環境下でアップロードした画像は、PHP4 でも PHP5 でも正しく表示でき、PHP5 環境下でアップロードした画像は、PHP4 でも PHP5 でも表示できません。
ちなみに、アップロード自体は、どちらの環境でも成功しています。サーバーには、画像ファイルがちゃんと存在します。

現状では PHP5 での使用はサポート外とは思いますが、何か対策がありましたら、教えてください。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: PHP5 環境下の管理画面でアップロードした画像ファイルが表示できない

投稿記事 by webmaster » 2007年11月14日(水) 16:41

 翡翠さん、ご報告ありがとうございます。

 PHP5対応はまだ正式ではありませんが、不具合にはもちろん対応させて頂きます。
 ご報告、大変助かります。

 Linuxのテスト機ではこの症状が起きていない為、おそらくWindows特有の事象
ではないかと考えております。
 まずは原因究明作業を急ぎたいと思います。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: PHP5 環境下の管理画面でアップロードした画像ファイルが表示できない

投稿記事 by webmaster » 2007年11月15日(木) 11:47

 webmasterです。経過報告です。ご迷惑をおかけしております。

 他のユーザー様より、Linux+PHP4の環境で同様の事象が起きている旨のご連絡が
ありました。
 WindowsやPHP5によるものではないようです。

 弊社の試験環境では現在再現できていない(正常に動作する)為、何らかの環境
要因によって発生するものと思われますが、これまでそのようなご報告が他から
あがっていない点から推測するに、おそらく最新バージョンに含まれる不具合と
思われます。

 現在最優先で取り組んでおりますので、今しばらくお待ち頂ければ幸いです。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: PHP5 環境下の管理画面でアップロードした画像ファイルが表示できない

投稿記事 by webmaster » 2007年11月21日(水) 17:08

 webmasterです。お返事が遅れまして申し訳ありません。

 PHP5環境において発生する今回の問題について対処した差分ソースをこちらに
アップロード致しました。
 一度お試し頂いてもよろしいでしょうか?

 http://cms.al-design.jp/downloads/cmsd_pre_1_1_6e_1.zip

 尚、問題の起きているエントリデータについては差分適用後に再度保存しなおして
頂く必要がございます。m(__)m

 お手数ですが、よろしくお願いいたします。

翡翠
記事: 3
登録日時: 2007年11月12日(月) 02:30

投稿記事 by 翡翠 » 2007年11月22日(木) 17:31

作業中のため、簡単に試しただけですが、うまく表示されるようになったようです。ありがとうございました。

なお、問題の起きていたエントリーデータを、変更せず保存するだけでは効果ありませんでした。一旦画像を削除し、もう一度アップロードし直したところ、表示されるようになりました。

あとで、詳細にチェックしてみたいと思いますが、とりあえず、ご報告まで。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

投稿記事 by webmaster » 2007年11月22日(木) 17:34

翡翠さん、ご連絡ありがとうございます。

ご指摘の通り、問題が起きたエントリデータについては

・一旦画像を削除し、
・再度アップロードしなおしてから保存。

の手順が必要でした。重ねて御礼とお詫びを申し上げます。m(__)m

これに関連して何か問題が発見されましたら、大変お手数ですがまたご連絡頂ければと思います。

翡翠
記事: 3
登録日時: 2007年11月12日(月) 02:30

投稿記事 by 翡翠 » 2007年11月23日(金) 16:00

差分適用後、まだ実働1日ほどですが、画像が表示されない(画像への誤ったパスが返される)現象は、発生していません。うちの環境では、PHP5、PHP4 どちらでも不具合は無くなったようです。

ありがとうございました。

返信