Web Artisan Blog - ウェブ アルチザン ブログ

Nucleusファイルアップロード時のエラー対策2

Nucleus (35 items)

2004年11月04日

当サイト構築時は、下記の方法で解決しました。
>Nucleusファイルアップロード時のエラー対策

しかし、最近別サイトをNucleusで構築してたら、上記のように対応しても、
このファイルタイプは認められていませんってエラー出まくり。。
もちろん、アップロードを許可するファイルタイプにも入れてるのに。。。

・・って、いろいろ調べてると、
どうもXREAサーバーは、サーバー名によって微妙に設定違うみたい。。
ちなみに構築し始めた別サイトのXREAサーバーは、”s93”です。

で、結局、前にも見たこの記事にお世話になることに。。
<スポンサードリンク>
Nucleusだとかさんの記事です。

XREA で Nucleusをインストールする
セーフモード対策・広告抑制
Nucleusには「メディアアップロード機能」というのがあって、画像ファイルなどをブラウザ画面でアップロードできます。しかしこれが、PHPがセーフモードで動作してると支障があります。XREAはモジュール版PHPがセーフモードで動作するかわりに、CGI版PHPが制限無しで利用できるので、それで対処します。



この記事は当サイト構築時もお世話になりましたが、
その時は、セーフモード対策の必要は無く、フォルダを作成する対応のみでいけました。
(もちろん当サイトもXREAサーバーです)

しかし、何度やっても”ファイルは認めてない”エラーが出る・・。
腹立ってきたんで、Nucleusフォルダ直下のmedia.phpにデバッグ入れたりもしました。
そこでは、”アップロードを許可するファイルタイプ”の拡張子と、
画面で指定したファイルの拡張子をマッチングしてるんですが、
どうも、その時に画面上の”input type="file"”の値を、
$HTTP_POST_FILESで全く取得できていない模様。。
これがセーフモードと絡んで引っかかってるのか?

とにかく、上記サイト記事を参考に、media.phpをCGI版PHPとして修正。
先頭行に。「#!/usr/local/bin/php」を挿入し、アップロード後にパーミッションを711に変更。
アップロードの際は、アスキーモードで転送するのを忘れずにと下記参照。
>FTP:アスキー、バイナリモード転送:EUC変換って?

これを怠ると、次のエラーが発生してツボにはまります。。

CGIWrap Error: Script Execution Failed

-----------------------------------

CGIWrap encountered an error while attempting to execute this script:

Error Message: No such file or directory
Error Number: 2



で、これらをやってようやくアップロードできるようになりました。
XREAユーザーの皆さん、環境にはご注意を。。。

<スポンサードリンク>
前の記事 次の記事

Comments

craftai wrote:

始めまして!
突然ですが、Nucleusのインストール後画像が添付できない現象に困り果てこちらにたどり着きました。フォーラムにも書き込みしましたが、そのものずばりのアドバイスはまだいただけておりません。
当方もいろいろ見て歩きある程度試してみてはいるのですが、XREAで画像をUPしてお使いのかたもあまりお見受けしません。
諦めた方がよいのかでもこちらのサイトでは画像添付に成功していらっしゃるようなので質問させていただきました。
尚、この間のいきさつはblogに載せておりますのでよいアドバイスがいただけたら幸いです。お忙しいとは思いますがよろしくお願いいたします。
2005年04月13日 18時10分35秒

ossi wrote:

craftaiさん、初めまして。

ご質問の件ですが、そちらの環境の詳しい事もわかりませんので、正直わからないんですが。。
ただ、上に書いたようにすれば大体はいけると思いますし、もちろん環境にもよりますが、この件に関してはそんなに難しい事が必要ではないと思います。しかしXREAの環境もサーバー毎に違いますし、、何とも言えませんねえ。。お答えできなくて申し訳ないです。
2005年04月14日 22時25分18秒

craftai wrote:

ossiさま

お忙しいところありがとうございました。
今日は最初に戻って.phpのアップとパーミッションの変更を幾度がしてようやく画像がアップできました。

◆media.phpは 
#/usr/local/bin/phpを頭部に入れ
あとはなにもせずそのまま 拡張子phpでUP(アスキーモード)した。
パーミッションは644のまま。
◆mediaフォルダのパーミッションは777。
画像をUPするとファイルには入った模様。

この作業でmediaフォルダ/1/
に画像がアップされました。
この後はタグ記入してようやく画像が貼り付けられました。

といった作業でした!
2005年04月15日 18時44分59秒

Add Comments

Trackback

Perlプログラミング wrote:

パーミッションとは?:
パーミッションとは一言で言うと、インターネットサーバーのような1台のパソコンを複数の人で使用するために、考え出されたシステムのことです。 パーミッションとは、コンピューター内に保存されているファイルやディレクトリ(フォルダ)に対して、ユーザがアクセスまたは操作できる権利のことです。 一般には、UNIXシステムにおいて、アクセス権を指す言葉として使用されています。 UNIXシステムにおけるパーミッションは…。
2007年03月06日 20時39分57秒

ネットビジネス用CGI Perl HTML Javascriptの情報サイト wrote:

パーミッション:
  パーミッションとは、コンピューター(インターネットサーバー)に保存されている、ファイルやフォルダのアクセス権(操作できる権利)を数字や記号で現したものです。 今回の記事では、パーミッションという用語について解説していきたいと思います。 通常のホームページファイル(HTMLファイル)などは、インターネットサーバーにアップロードすればこれで終了なのですが、CGI(Perl)などのプログラムファイルや、それに関連したファイルなどは、その後「パーミッション(アクセス権)」というものを設定する必要があります。 これは、以前別の記事で解説したFTPソフトにアクセス権を設定できるところがあるはずなので、一度探してみてくださいね。 アクセス権は、パーミッションとも言うので、「パーミッションの変更」という感じで書かれていると思います。
2006年04月07日 22時15分24秒

Trackback URL

http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=340