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>
コード: 全て選択
<?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" />
コード: 全て選択
<img src="/viewimg.php?entryname=news&entryid=00002&fileid=00000001&/kouen02.jpg" alt="画像2" />
奇妙に感じるのは、表示するためにブラウザでアクセスした時に動作している PHP のバージョンではなく、管理画面でアップロードした時の PHP のバージョンで、変換されるタグが異なってくることです。PHP4 環境下でアップロードした画像は、PHP4 でも PHP5 でも正しく表示でき、PHP5 環境下でアップロードした画像は、PHP4 でも PHP5 でも表示できません。
ちなみに、アップロード自体は、どちらの環境でも成功しています。サーバーには、画像ファイルがちゃんと存在します。
現状では PHP5 での使用はサポート外とは思いますが、何か対策がありましたら、教えてください。