共用サーバーはPDFを禁止しているのか|エックスサーバーで実際に測ってみた

レンタルサーバーでPDFが扱えるかどうかを実際に測って確かめたことを示したイメージ図 ITライフハック
この記事は約8分で読めます。
当ページはプロモーションが含まれています

この記事は、XServerのアフィリエイト広告(PR)を含みます。

WordPressにPDFをアップロードすると、表紙のサムネイルが自動で作られます。

作られないことがあります。プラグインを入れても、変わらない。

調べると、「共用サーバーはセキュリティのためにPDFを禁止していることが多い」という説明がよく出てきます。

本当にそうなのか、測ってみました。

結果を先に書きます。エックスサーバーは、PDFを許可していました。 禁止していません。

LocalとエックスサーバーでPDFの読み込みを実測した結果を示した図

何を測ったか

2つの環境で測りました。 2026年8月29日の計測です。

Local by Flywheel エックスサーバー スタンダード
PHP 8.3.23 8.3.33
ImageMagick 7.1.1-15 Q16 6.9.13-25 Q16
imagick 拡張 3.7.0 3.7.0
policy.xml 存在しない /etc/ImageMagick-6/policy.xml
PDFの実読み込み 成功 成功
CMYKの実読み込み 成功 成功

どちらもPDFを通しました。

エックスサーバーの設定を、実際に見る

ここが、この記事でいちばん出したかった部分です。

ImageMagick には policy.xml という設定ファイルがあって、どの形式を扱ってよいかを決めています。

エックスサーバー スタンダードでは、/etc/ImageMagick-6/policy.xml に置かれていました。

有効な禁止ルールは9件

<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="HTTP" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="FTP" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="LABEL" />

PDF も PS も入っていません。

この9件は、ImageMagick が公式に推奨している内容そのものです。2016年に見つかった脆弱性への対策として、上流の設定例に入っているものです。

エックスサーバーが独自にPDFを止めているわけではありませんでした。

禁止する行は、コメントの中にあった

ここが面白いところでした。

同じファイルの中に、PDFを禁止する記述が確かにあります。 ただし、コメントアウトされていました。

<!--
  <policy domain="coder"  rights="none"       pattern="*" />
  <policy domain="coder"  rights="read|write" pattern="{GIF,JPEG,PNG,WEBP}" />
  <policy domain="module" rights="none"       pattern="{PS,PDF,XPS}" />
-->

「全部禁止してから4形式だけ許可」も、「PS/PDF/XPS を禁止」も、コメントの中です。

これは、ImageMagick の公式ファイルに設定例として書かれているものが、そのまま残っているだけです。

だから、誤判定が起きます

この形が、判定を難しくしています。

policy.xml を開いて「PDF」を検索すると、禁止しているように見える行が見つかります。

でも、コメントの中なので効いていません。

設定ファイルを見て「このサーバーはPDFを禁止している」と判断すると、間違えます。

調べる方法が、間違っていました

自分の失敗も書いておきます。

PDFのサムネイルを作るプラグイン(Rapls PDF Image Creator)を公開していて、動くかどうかを事前に表示する機能を入れていました。

その判定が、間違っていました。

「対応しているか」を聞いていた

使っていたのは、ImageMagick に「PDFに対応していますか」と尋ねる方法です。

これが答えているのは、「PDFを扱う部品が組み込まれているか」でした。

使ってよいかどうかは、別です。

部品はある。でも、設定で使用が禁止されている。そういう状態があります。

禁止されている環境で「使えます」と出ていた

PDFを拒否する設定を用意して試したところ、プラグインは「使えます」と表示しました。

そして、実際にPDFをアップロードすると、サムネイルは作られませんでした。

困っている人を助けるための機能が、困っている環境で嘘をついていました。

直した方法

実際に読ませることにしました。

ごく小さなPDFを用意しておいて、それを読み込んでみる。 通れば使える、弾かれれば使えない。

尋ねるのをやめて、やってみる。 それだけの話でした。

いまは、禁止されている環境では「禁止されています」と表示して、依頼する内容まで出すようにしています。この記事で書いた4つの状態を、そのまま画面に出す形です。

CMYKも、通りました

もう1つ、思い込みが覆りました。

印刷用のPDFは、色の表現がCMYKという方式になっていることがあります。

そして、古い版の ImageMagick は、CMYKのPDFを真っ白な画像にしてしまうことがあると知られています。

エックスサーバーの ImageMagick は6系だったので、これに当たると思っていました。

測った結果

colorspace           CMYK
unique colours       1
centre pixel (sRGB)  #00FFFF

シアン100%のPDFが、シアンとして描画されました。

色の情報もCMYKのまま返っているので、途中で別方式に逃げたわけでもありません。

このサーバーでは、壊れませんでした。

ここも、直しました

プラグインは、版の番号を見て警告を出していました。

6系なら警告、7系なら出さない。単純な判定です。

実測したら、出すべきでない警告を出していたことになります。

いまは、テスト用のページを実際に描画してから報告するようにしました。

なお、今回測ったのはレンタルサーバー エックスサーバーのスタンダードプランです。自分が普段使っているものなので、手元で測れました。

Local では、また事情が違いました

開発用の環境も測っています。

Local by Flywheel では、policy.xml が存在しませんでした。 探した10か所すべてに、読めるファイルがありません。

禁止するファイルが無いので、全形式が許可されます。

これが、意外と厄介です

開発中は、「ポリシーで禁止」という状態に一度も当たりません。

手元では動く。本番で初めて出会う。 そういう類の問題になります。

手元で動いたから大丈夫、とは言えないということでした。

言えること、言えないこと

ここは、はっきり分けておきます。

言えること

エックスサーバー スタンダードは、PDFを許可していました。

その設定ファイルで有効なのは、公式推奨の9件だけでした。PDFを止める行は、すべてコメントアウトされています。

ImageMagick 6系でも、単純なCMYKページは正しく描画されました。

言えないこと

「共用サーバーはPDFを禁止しがち」。 これは言えません。禁止されている環境を、まだ1つも実測していないからです。

ネット上の記事の多くは、この前提で書かれています。少なくともエックスサーバーには当てはまりませんでした。

「ImageMagick 6 はCMYKを壊す」。 少なくとも、このビルドでは壊れませんでした。

印刷入稿用のPDFが通るかどうか。 測ったのは、単色で塗りつぶした1ページだけです。複雑なファイルは、別の経路を通る可能性があります。

そして、条件で変わります

プラン、PHPのバージョン、サーバーの号機。 これらで変わりうる部分です。

「エックスサーバーはこうです」と一文で書くのは、危ないと思っています。

この記事に書いたのは、「この条件で測ったら、こうだった」という記録です。



自分の環境を測る

記事を読むより、自分で測るほうが確実です。

いちばん簡単な方法

PDFを1つ、アップロードしてみてください。

メディアライブラリに追加して、サムネイルが表示されるかどうか。

これで分かるのは「動くか動かないか」だけですが、まずはそこからです。

サイトヘルスを見る

WordPress の「ツール」→「サイトヘルス」を開いてください。

「情報」タブの「メディア処理」に、ImageMagick の状態が出ています。

拡張が入っているか、どの版か。ここまでは、標準の機能で分かります。

もっと詳しく測る

設定ファイルの中身まで見たい場合は、専用のものが要ります。

自分は、WordPressもプラグインも使わない単体のPHPファイルを書いて測りました。

置いて、開いて、消す。それだけです。外部のコマンドは使わず、読むだけにしてあります。

この方法は、次回に詳しく書きます。

次に測るもの

2環境では足りません。

禁止されている環境が1つ出れば、比較表になります。 出なければ、「通説は日本の主要なレンタルサーバーには当てはまらない」という話になります。

どちらでも、価値のある結果です。 いまは、どちらとも言えない状態です。

さくら、ロリポップ、mixhost、ConoHa。順に測っていく予定です。

まとめ

  • エックスサーバー スタンダードは、PDFを許可していた(2026年8月時点の実測)
  • 有効な禁止ルールは公式推奨の9件だけ。 PDFもPSも入っていない
  • PDFを禁止する行は、コメントアウトされて残っている
  • だから、設定ファイルを検索して判断すると誤判定する
  • 「対応しているか」を尋ねる方法では、禁止されていても「使える」と返る
  • 実際に読ませて判定するのが確実
  • ImageMagick 6系でも、単純なCMYKページは壊れなかった
  • 版の番号だけで判断していたのは、間違いだった
  • Local にはpolicy.xml が無い。 開発中は禁止状態に当たらない
  • 「共用サーバーは禁止しがち」は、まだ確かめられていない
  • プラン・PHP版・号機で変わりうる。「このサーバーはこう」と一般化しない

通説を確かめずに書いていたら、間違ったことを書いていました。

測るのは面倒でしたが、測らないと分からないことでした。

次回は、自分の環境を測る方法を書きます。

レンタルサーバー エックスサーバー



※本記事は2026年8月29日時点の実測です。サーバーの構成は変更されることがあります。

タイトルとURLをコピーしました