おおおおおおー!
やるじゃん!さくらインターネット!
ちょっと興奮気味で、大急ぎでレポート。
ことの発端は以前のエントリに書いたことが関係している。
アップロードできるファイルサイズの上限 - Using MT
その記事で書いたように、PHPスクリプトを使ったファイルのアップロードは、 PHPの設定で上限が設定されていて、その設定から外れるサイズのファイルはアップロードできない。
PHPの設定なんて、レンタルサーバーのユーザーには変更できないだろうと高を括っていてハナから諦めていた。しかし、さくらインターネットはphp.iniの設定を変えることができるのである。それも、FTPを使ったり直接そのファイルをいじったりすることなしに、分かり易いインターフェイスを使って。
さくらインターネットでphp.iniを書き換える
1. 現在の設定を確認
<?php phpinfo() ?>
と書いたphpファイルをサーバに置き、それを見る。
最初は以下のようになっているはず。
2.サーバーコントロールパネルにログインする
3.「php設定の編集」をクリック
4.空欄に設定を書き込む
今回は「post_max_size」を8Mから120Mに変更し、「upload_max_filesize」を2Mから80Mに変更してみる。「memory_limit」はもとから128Mなので変更しない。
書き込んだら、「保存する」ボタンを押す。
これでphp.iniを変更し、それを反映するようにApacheの再起動(的なこと)もしてくれます。
5. 変更されたことを確認する。
もういちどphpinfo()を見てみる。
ね、ちゃんと変わってますね?
というわけでブラウザだけでこんな奥深い設定を変更できるわけです。
ユーザーにこんなこともさせちゃうなんて太っ腹! さくらインターネット!
(僕はスタンダードプランです。)
ありがとー! php.iniを設定できなくて困ってました。解決しましたーー!!
こんにちは、S.Kosです。
今朝ほど、Shinichi Nozawaさんのお言葉に甘えて、再度のお尋ねを記しましたが、アップロードファイルノサイズの障害は解決しました。
穴があったら入りたいくらいの、大チョンボでした。
index.phpでファイルを指定、upload.phpで実行、という構造の、index.php側でサイズ制限がかかってました。
みなさま、お騒がせしました。
これに懲りず、今後ともおつきあいください。
Shinichi Nozawa さん、 ご教示感謝です。
お言葉に甘えて、もう少し欠かせてください。 重ねでご教示いただければ幸いです。
>memory_limitが設定されていない・・・
>
phpinfo.phpで覗いたら、デフォルトで memory_limit =128M となっているようでしたので、良しとしました。
念のため、さくらのコンパネからこれを設定して見ましたが、やはりダメでした。
>LZHファイルをアップロードできない・・・
>
2M以下のLZHファイルはアップできますので、拡張子の問題ではない、と考えています。
>アップロードにどんなものを使っているか・・・
>
オリジナルです。 拡張子は見ていません。
単一事業所限定で WinSwever/2k3 + IIS + MSDE + ASP 環境のイントラネットシステムがあります。
これを複数事業所へ展開したくて、 レンタルサーバーをテストしているところです。
PHPで書くのは始めてですのて、 なにか見落としているのか、 と思っています。
この言語特有の留意点など、 併せてご教示願えれば、望外の喜びです。
S. Kosさん、こんにちは。
いちおう確認なんですが、アップロードの容量に関しては、
PHPの設定は3カ所ありまして、以下の3つです。
memory_limit
post_max_size
upload_max_filesize
S. Kosさんのコメントだと
upload_max_filesize = 80M
post_max_size = 120M
max_input_time = 60
となているので、memory_limitが設定されていないようですね。
この3つの項目には大小関係があって、
memory_limit > post_max_size > upload_max_filesize
という順になっているべきです。
なのでこういう順になるように調整し直してみてください。
それから、LZHファイルをアップロードできないとのことですが、同じぐらいのファイルサイズで拡張子が別のもの(例えば、jpegとかgifとか)はアップロードできますか?
アップロードにどんなものを使っているかわかりませんが、ファイルサイズにかかわらず指定した拡張子のものしかアップロードできないようになっているのかもしれません。(それはさくらサーバのせいでもPHPの設定のせいでもなく、そのアップロードするファイルのせい)なので、そのあたりをチェックしてみてください。
もう少し詳しく状況を教えていただけたら適切な助言ができるかもしれません。
こんにちは
さくらインターネットを探っていて、ここに辿り着きました。
アップロードファイルのサイズを変えるため、
upload_max_filesize = 80M
post_max_size = 120M
max_input_time = 60
と設定しました。
phpinfo.phpを置いて覗くと、確かにそのようになっています。
ところが、たった3MのLZH圧縮ファイルがアップできません。
未だ他に、考慮すべき箇所があるのでしょうか?
QAサイトへの投稿みたいでお恥ずかしいのですが、どなたかご教示くだされば幸いです。
fusluwsi231さん
PHPでアップロードできるファイルのサイズの上限を変えたいだけでしたら、
phpinfo.phpを設置する必要がありません。
これは、あくまでPHPの現行の設定がどうなっているかを
チェックするためのものなので、
上限を変えるのに必要な手順ではありません。
さくらインターネットのコントロールパネルに
ログインして、
https://secure.sakura.ad.jp/rscontrol/rs/
そこで「PHP設定の編集」というのをクリックして
この記事にあるようなことをやれば、
上限は変更することができます。
fusluwsi231さん、こんにちは。
「どうやってサーバに置くのか」とのことですが、
FTPというのはご存じでしょうか?
phpinfo.phpという名前でファイルをつくって、
そこに
<?php
phpinfo();
?>
と3行だけ書いて保存します。
それをFTPを使ってアップロードして、
http://www.example.com/phpinfo.php
というアドレスにアクセスすれば
(www.example.comというのは適宜書き換えてください)
みることができます。
php.iniをさくらのコントロールパネル上で行うと、
その情報がきちんと反映されるので、
Apache再起動がわからなくても大丈夫です。
そもそも、Apacheの再起動は僕ら(単なる利用者)にはできないです。
HP初心者でsakuraに登録したばかりの者です。自分もぜひ
このようにサイズの上限を変えてみたく
何度も読み返しておりますが
><?php phpinfo() ?>
>と書いたphpファイルをサーバに置き、それを見る。
質問掲示板みたいで気が引けるんですが・・どこを何を
どうやってサーバに置くのか、そこからつまづきました。
>これでphp.iniを変更し、それを反映するようにApacheの再>起動(的なこと)もしてくれます。
>5. 変更されたことを確認する。
>もういちどphpinfo()を見てみる。
アパッチの再起動もさっぱり・・・道は遠いです。