#author("2021-10-11T08:09:02+00:00","","")
#author("2021-10-11T10:51:48+00:00","","")
PukiWikiをインストールして新規記事を書いたものの、写真を添付できず。
何度やってもエラーメッセージが出るわけでなく、
しかし、添付一覧を見てもアップロードされておらず。

色々調べて下記にたどり着く。



http://www.rivhiro-weather.com/knowledge/?p=163
より引用。

pukiwiki(&php)でアップロードできる容量を増やす


pukiwikiでは、データを添付(アップロード)できる容量が制限されている。
 下記の作業を行うことで、この制限を解除することができる。ここでは上限を50Mにするときの例を示す。

(1) pukiwiki側の設定

(i) (pukiwikiディレクトリ)/plugin/attach.inc.phpを書き換える。

書き換える場所は2箇所。

// max file size for upload on PHP(PHP default 2MB)
 ini_set(“upload_max_filesize”,”2M”);
–>
 // max file size for upload on PHP(PHP default 2MB)
 ini_set(“upload_max_filesize”,”50M“);

// Max file size for upload on script of PukiWikiX_FILESIZE
 define(‘PLUGIN_ATTACH_MAX_FILESIZE’, (1024 * 1024)); // default: 1MB
–>
 // Max file size for upload on script of PukiWikiX_FILESIZE
 define(‘PLUGIN_ATTACH_MAX_FILESIZE’, (51200 * 1024)); // default: 50MB

のように書き換える。

(ii) (pukiwikiディレクトリ)/plugin/dump.inc.php

// 最大アップロードサイズ
define(‘PLUGIN_DUMP_MAX_FILESIZE’, 1024); // Kbyte
–>
 // 最大アップロードサイズ
define(‘PLUGIN_DUMP_MAX_FILESIZE’, 51200); // Kbyte

と書き換える。

これで、pukiwiki側の書き換えは終わり。

ただし、この変更だけだと、2Mまでのファイルしかアップロードすることができない。
2Mの制限を作っているのは、pukiwikiではなく、さーばーのphp本体。

なので、レンタルサーバーを使用してる場合は、レンタルサーバーの設定に依存する。

※2Mというのはデフォルトのphpの設定

もし個人でサーバーを管理してる場合あれば、下記の作業を行うことで、さらに上限を上げることができる。

2. サーバーのPHPの設定

/etc/php.iniのファイルを変更する。
・・・


※/etc/php.ini.defaultしかない場合は、php.ini.defaultをphp.iniとしてコピーした上で、php.iniを編集する。

これをしたものの、「2Mの制限を作っているのは、pukiwikiではなく、さーばーのphp本体。なので、レンタルサーバーを使用してる場合は、レンタルサーバーの設定に依存する。
※2Mというのはデフォルトのphpの設定」
とある通り、サーバーの問題らしい。

改訂場所は下記の3箇所
そこで、なお調べたら以下を発見。

memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
–>
memory_limit = 80M ; Maximum amount of memory a script may consume (80MB)

 ※PHPが使用できる最大メモリサイズのようですので、添付ファイルサイズよりも大きく設定

お名前.comの共用サーバーSDで2MB以上のファイルをアップロードする方法
https://keikanri.com/archives/23572

; Maximum allowed size for uploaded files.
 upload_max_filesize = 2M
–>
 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 50M
他のレンタルサーバーではアップロード容量を設定で変更できたりするのですが、お名前.comの共用サーバーSDだとアップロード容量を気軽に変更することができません。困ったものです。

; Maximum size of POST data that PHP will accept.
 post_max_size = 8M
–>
 ; Maximum size of POST data that PHP will accept.
 post_max_size = 80M
私も仕事上、WordPressの記事インポートをしていて、インポート用のXMLファイルが100MB以上でした。しかしお名前.comの共用サーバーSDだとアップロード容量は基本は2MBです。とてもじゃないですがアップロードできません。

またテーマをアップデートする際に、以下のようなエラーメッセージを経験することもあるでしょう。

Sorry, there has been an error.
アップロードしようとしたファイルは php.ini の upload_max_filesize で指定されているサイズを超えています。

これをしたものの、「2Mの制限を作っているのは、pukiwikiではなく、さーばーのphp本体。なので、レンタルサーバーを使用してる場合は、レンタルサーバーの設定に依存する。
※2Mというのはデフォルトのphpの設定」
とある通り、サーバーの問題らしい。
これも理由は一緒でアップロードするファイルの容量が、php.iniというPHPの設定を司るファイル上で、アップロードファイルの上限を定めているパラメータ「upload_max_filesize」の値を超えてっぞ。という意味ですね。

そこで、なお調べたら以下を発見。
どうやって変更するんだろう?と思って調べてみると、お名前.comのヘルプにphp.iniをFTPで設置してね。とあります。

php.iniは設定項目が大量にあるファイルなので、「うわーめんどくせー」と思ったのですが、どうやらアップロードの部分だけ記述して設置すれば大丈夫みたいです。ということでお名前.comの共用サーバーSDで2MB以上のファイルをアップロードする方法をご紹介します。

お名前.comの共用サーバーSDで2MB以上のファイルをアップロードする方法

5秒で現状の容量を確認する
この手順は飛ばしてもいいのですが、一応現状のアップロード容量の上限を5秒で確認する方法があります。

WordPressのダッシュボードから、「メディア」⇒「新規追加」を開きます。するとその画面に、「最大アップロードサイズ」の記述があります。ちなみにお名前.comの共用サーバーSDの場合は添付のように2MBのはずです。


これを変更していきましょう。

php.iniでアップロード容量を変更する
まずは「php.ini」というファイル名でファイルを作り、以下のコードをコピぺします。100MBとかにしたい場合は、随時パラメータの設定を変更してください。

[PHP]
memory_limit = 50M
post_max_size = 50M
upload_max_filesize = 50M
[/PHP]
その後、作成したphp.iniをFTPでアップロードしますが、場所はドメインのフォルダ直下で問題ありません。一応お名前.comのマニュアルにphp.iniの設置場所の優先度が記述してあります。

ホームディレクトリに設置の「php.ini」
PHPスクリプトを実行するディレクトリに設置の「php.ini」
共用サーバー共通の「php.ini」

参考:【共用サーバーSD】「php.ini」の変更が反映されない

基本は多分「hogehoge.com」みたいなドメインと同じ名称のフォルダがあると思うので、その直下に作成したphp.iniを設置します。その後、WordPressのダッシュボードから、「メディア」⇒「新規追加」を開いて、最大アップロード容量が変わっていれば完了です。



「php.ini」というファイルは、こうつくればいいのか、これでアップできる容量を変更できる。

でも、表示されない。



https://pukiwiki.osdn.jp/?Q%EF%BC%86A/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/attach%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3#l8a3fc5f
添付/ダウンロードができない †



Q. 添付(attach)でファイルをアップロードできない †


A.attachディレクトリの中を確認し、ファイルの有無を確認してください。

•ファイルが有る場合 ◦呼び出し時にファイル名を間違えていませんか?
◦#ref(添付ファイル名)が有効なのはアップロードしたページのみです。別ページからファイルを参照する場合には、#ref(ページ名/添付ファイル名)あるいは#ref(添付ファイル名,ページ名)のように添付したページへのパスを加えてください。



ようやく、これで表示もできました。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS