- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
「セーフモードによる制限と対処方法」の版間の差分
(2.9 対応に更新。CGIモードの記述方法は「まとめ」にまとめる。「変更履歴」節追加。/絶賛情報募集中!) |
|||
1行目: | 1行目: | ||
− | + | __TOC__ | |
− | + | '''PHP がセーフモードで動作する[[レンタルサーバ情報|サーバ]]'''の場合、WordPress の一部の機能に制限が生じます。このページでは、セーフモードにより問題が生じる機能とその対処方法をまとめています。 | |
− | PHP がセーフモードで動作する[[レンタルサーバ情報|サーバ]]の場合、WordPress | + | |
セーフモードとは: | セーフモードとは: | ||
* [http://jp.php.net/manual/ja/features.safe-mode.php PHP マニュアル » セーフモード] | * [http://jp.php.net/manual/ja/features.safe-mode.php PHP マニュアル » セーフモード] | ||
+ | * [http://zone.maple4ever.net/blog/archives/657/ hiromasa.zone :o) » セーフモードの束縛] | ||
+ | |||
+ | {{募集中| | ||
+ | * 措置をしていない場合のエラーメッセージまたはスクリーンショット | ||
+ | * XREA・CORESERVER.JP '''以外'''のサーバで PHP を CGI モードで動かす方法 | ||
+ | * 旧バージョンの対処方法も残した方がよい? | ||
+ | *[[#キャッシュ|キャッシュ]] -- WPJ のセーフモードの対処法についてのドキュメント(ME 2.0.x 当時)に「キャッシュ機能の利用」という項目があったのですが、内容を覚えている人いませんか?/最新版では使われていない機能なのかな。。 | ||
+ | * [[#プラグイン|影響のあるプラグイン]] | ||
+ | * 他にも影響のある機能があれば | ||
+ | }} | ||
== キャッシュ == | == キャッシュ == | ||
21行目: | 30行目: | ||
=== 方法 1: 事前にアップロードディレクトリを作成しておく === | === 方法 1: 事前にアップロードディレクトリを作成しておく === | ||
− | + | 事前にアップロードディレクトリを作成し、[[用語集#パーミッション|パーミッション]]の書き込み権限を与えておきます。作成するディレクトリ名は [[管理パネル]] > [[管理パネル#Settings - Configuration Settings|設定]] > [[Settings Miscellaneous SubPanel|その他の設定]] の設定値によって異なります。 | |
年月ディレクトリに整理する設定の場合: | 年月ディレクトリに整理する設定の場合: | ||
* <code>wp-content/uploads</code> | * <code>wp-content/uploads</code> | ||
− | * <code>wp-content/uploads/ | + | * <code>wp-content/uploads/2010/01</code> |
− | * <code>wp-content/uploads/ | + | * <code>wp-content/uploads/2010/02</code> |
+ | * ... <br />(使う分が出来ていれば OK) | ||
年月ディレクトリを使わない場合: | 年月ディレクトリを使わない場合: | ||
35行目: | 45行目: | ||
アップロード処理を行なうスクリプトを CGI モードで動かします。 | アップロード処理を行なうスクリプトを CGI モードで動かします。 | ||
− | + | * [[レンタルサーバ情報#XREA|XREA]]、[[レンタルサーバ情報#CORESERVER.JP|CORESERVER.JP]] の場合は、下記 [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)]]を参照のこと。 | |
+ | * その他のサーバの対処方法は、まだ情報がありません。 | ||
<!-- WPJ 閉鎖のためコメントアウト。情報募集中。 | <!-- WPJ 閉鎖のためコメントアウト。情報募集中。 | ||
* [http://wordpress.xwd.jp/me2.0-docs/index.php?%A5%D5%A5%A1%A5%A4%A5%EB%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C9%B5%A1%C7%BD%A4%CE%CD%F8%CD%D1#xde79800 Wordpress Japan » ファイルアップロード機能の利用 - エラー回避方法(2)] | * [http://wordpress.xwd.jp/me2.0-docs/index.php?%A5%D5%A5%A1%A5%A4%A5%EB%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C9%B5%A1%C7%BD%A4%CE%CD%F8%CD%D1#xde79800 Wordpress Japan » ファイルアップロード機能の利用 - エラー回避方法(2)] | ||
--> | --> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== プラグイン自動アップグレード == | == プラグイン自動アップグレード == | ||
62行目: | 61行目: | ||
=== 方法 2: PHP を CGI モードで動かす === | === 方法 2: PHP を CGI モードで動かす === | ||
− | + | ||
+ | アップグレード処理を行なうスクリプトを CGI モードで動かします。 | ||
+ | |||
+ | * [[レンタルサーバ情報#XREA|XREA]]、[[レンタルサーバ情報#CORESERVER.JP|CORESERVER.JP]] の場合は、下記 [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)]]を参照のこと。 | ||
+ | * その他のサーバの対処方法は、まだ情報がありません。 | ||
+ | |||
== プラグイン新規インストール == | == プラグイン新規インストール == | ||
72行目: | 76行目: | ||
=== 方法 2: PHP を CGI モードで動かす === | === 方法 2: PHP を CGI モードで動かす === | ||
− | + | インストール処理を行なうスクリプトを CGI モードで動かします。 | |
− | + | * [[レンタルサーバ情報#XREA|XREA]]、[[レンタルサーバ情報#CORESERVER.JP|CORESERVER.JP]] の場合は、下記 [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)]]を参照のこと。 | |
− | + | * その他のサーバの対処方法は、まだ情報がありません。 | |
− | + | ||
== テーマ自動アップグレード == | == テーマ自動アップグレード == | ||
82行目: | 85行目: | ||
WordPress x.x より、管理パネルから[[テーマの使い方|テーマ]]を最新版にアップグレードできる機能が搭載されました。 | WordPress x.x より、管理パネルから[[テーマの使い方|テーマ]]を最新版にアップグレードできる機能が搭載されました。 | ||
− | 通常は、新バージョンをダウンロード・展開するディレクトリを WordPress | + | 通常は、新バージョンをダウンロード・展開するディレクトリを WordPress が自動作成しますが、セーフモードだと次のようなエラーが出ます。 |
<div class="screen"> | <div class="screen"> | ||
− | Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is | + | Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 174 |
− | Warning: fileowner() [function.fileowner]: SAFE MODE Restriction in effect. The script whose uid is | + | Warning: fileowner() [function.fileowner]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 628 |
− | Warning: fileowner() [function.fileowner]: stat failed for /tmp/ | + | Warning: fileowner() [function.fileowner]: stat failed for /tmp/xxxxxxxxxx in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 628 |
− | Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is | + | Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 630 |
</div> | </div> | ||
=== 方法: PHP を CGI モードで動かす === | === 方法: PHP を CGI モードで動かす === | ||
− | + | アップグレード処理を行なうスクリプトを CGI モードで動かします。 | |
− | + | * [[レンタルサーバ情報#XREA|XREA]]、[[レンタルサーバ情報#CORESERVER.JP|CORESERVER.JP]] の場合は、下記 [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)]]を参照のこと。 | |
− | + | * その他のサーバの対処方法は、まだ情報がありません。 | |
− | + | ||
== コアアップグレード == | == コアアップグレード == | ||
123行目: | 125行目: | ||
あらかじめアップグレードスクリプトが使用する作業ディレクトリ <code>tmp</code> を作成し、書き込み可能な[[ファイルパーミッションの変更|パーミッション]]を設定しておく方法です。 | あらかじめアップグレードスクリプトが使用する作業ディレクトリ <code>tmp</code> を作成し、書き込み可能な[[ファイルパーミッションの変更|パーミッション]]を設定しておく方法です。 | ||
− | # | + | # 自分のアカウントのトップディレクトリの直下に <code>tmp</code> ディレクトリを作成し、パーミッションを <var>707</var> に設定。 |
+ | #* XREA の場合、<code>/virtual/{アカウント名}/tmp/</code> | ||
# サーバより [[wp-config.php の編集|<code>wp-config.php</code>]] をダウンロードし、[[用語集#テキストエディタ|テキストエディタ]]で開く。 | # サーバより [[wp-config.php の編集|<code>wp-config.php</code>]] をダウンロードし、[[用語集#テキストエディタ|テキストエディタ]]で開く。 | ||
## <code>// 編集が必要なのはここまでです !</code> より前に次の1行を挿入。<pre>define ('WP_TEMP_DIR', '/{アカウントのディレクトリ}/tmp/');</pre> | ## <code>// 編集が必要なのはここまでです !</code> より前に次の1行を挿入。<pre>define ('WP_TEMP_DIR', '/{アカウントのディレクトリ}/tmp/');</pre> | ||
129行目: | 132行目: | ||
# [[管理パネル]] > [[管理パネル#Tools|ツール]] > [[Tools Upgrade SubPanel|アップグレード]]画面を開く。 | # [[管理パネル]] > [[管理パネル#Tools|ツール]] > [[Tools Upgrade SubPanel|アップグレード]]画面を開く。 | ||
## [自動アップグレードを実行] ボタンをクリック。 | ## [自動アップグレードを実行] ボタンをクリック。 | ||
− | ## | + | ## [[User:Bono/管理パネル/Connection Information|「接続情報」画面]]が表示されたら、'''FTP 接続時の情報'''を入力して [開始] ボタンをクリック。(詳細はリンク先参照) |
− | ## | + | ## 自動アップグレード処理が続行されます。 |
− | + | ||
− | + | ||
− | + | ||
# アップグレードが成功したら、上記 1 で作成した <code>tmp</code> ディレクトリを削除。 | # アップグレードが成功したら、上記 1 で作成した <code>tmp</code> ディレクトリを削除。 | ||
140行目: | 140行目: | ||
=== 方法 2: PHP を CGI モードで動かす === | === 方法 2: PHP を CGI モードで動かす === | ||
− | + | アップグレード処理を行なうスクリプトを CGI モードで動かします。 | |
− | + | * [[レンタルサーバ情報#XREA|XREA]]、[[レンタルサーバ情報#CORESERVER.JP|CORESERVER.JP]] の場合は、下記 [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)]]を参照のこと。 | |
− | + | * その他のサーバの対処方法は、まだ情報がありません。 | |
− | + | ||
− | == | + | == XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ) == |
− | + | [[レンタルサーバ情報#XREA|XREA]]・[[レンタルサーバ情報#CORESERVER.JP|CORESERVER.JP]] にて、PHP を CGIモードで動かすことにより対処したい場合、次の内容を書いた <code>.htaccess</code> ファイルを <code>wp-admin/</code> ディレクトリに置きます。 | |
− | + | ||
− | = | + | WordPress 2.9.x の場合: |
+ | <pre> | ||
+ | # 画像・ファイルアップロード | ||
+ | <files async-upload.php> | ||
+ | AddHandler application/x-httpd-phpcgi .php | ||
+ | </files> | ||
+ | # プラグイン・テーマ 新規インストール/アップグレード | ||
+ | <Files update.php> | ||
+ | AddHandler application/x-httpd-phpcgi .php | ||
+ | </Files> | ||
+ | # 本体アップグレード | ||
+ | <Files update-core.php> | ||
+ | AddHandler application/x-httpd-phpcgi .php | ||
+ | </Files> | ||
+ | </pre> | ||
+ | <code>#</code> の行はコメントです。削除して構いません。そのまま記述する場合は UTF-8 BOM なしで保存してください。 | ||
+ | |||
+ | '''注意''': | ||
+ | * <code>#!/usr/local/bin/php</code> の追加やパーミッションの変更は不要です。 | ||
+ | * WordPress のバージョンによって、指定するスクリプト名が異なります。 | ||
+ | * WordPress 設置ディレクトリの <code>.htaccess</code> に <code>AddHandler application/x-httpd-phpcgi .php</code> と書かないこと。 | ||
+ | ** [[Version 2.8/FAQ・トラブルシューティング#PHP がセーフモードのサーバで、管理パネルのレイアウトが崩れる|管理パネルの表示が崩れる等の不具合が生じます。]] | ||
+ | ** WordPress 全体が CGI モードで動きます。次項デメリット参照。 | ||
+ | * 設定方法・メリット・デメリット: [http://sb.xrea.com/showthread.php?t=10744 XREA&CORE SUPPORT BOARD » PHPをCGIとして動かす方法について] | ||
+ | * CGI モードの場合の追加設定: [http://sb.xrea.com/showpost.php?s=69f7e5c44935d629cb0903a1a6f13a58&p=78158&postcount=2 XREA&CORE SUPPORT BOARD » PHPをCGIとして動かす方法(2)] | ||
− | + | === 旧バージョンの場合 === | |
+ | WordPress 2.7.x: | ||
<pre> | <pre> | ||
+ | # 画像・ファイルアップロード | ||
<files async-upload.php> | <files async-upload.php> | ||
AddHandler application/x-httpd-phpcgi .php | AddHandler application/x-httpd-phpcgi .php | ||
</files> | </files> | ||
+ | # プラグイン新規インストール | ||
<Files plugin-install.php> | <Files plugin-install.php> | ||
AddHandler application/x-httpd-phpcgi .php | AddHandler application/x-httpd-phpcgi .php | ||
</Files> | </Files> | ||
+ | # テーマアップグレード | ||
<Files update.php> | <Files update.php> | ||
AddHandler application/x-httpd-phpcgi .php | AddHandler application/x-httpd-phpcgi .php | ||
</Files> | </Files> | ||
+ | # 本体アップグレード | ||
<Files update-core.php> | <Files update-core.php> | ||
AddHandler application/x-httpd-phpcgi .php | AddHandler application/x-httpd-phpcgi .php | ||
</Files> | </Files> | ||
+ | # プラグインアップグレードも update.php? | ||
</pre> | </pre> | ||
− | |||
− | + | それ以前のバージョン: | |
− | + | * [http://lab.chickenheart.jp/wp/2008/03/wordpress-25-%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89/ Chicken Heart Lab - WordPress » WordPress 2.5 でファイルアップロード] (WordPress 2.5)(2008-03-19) | |
− | + | * [http://www.graphact.com/memo/2006/08/16/89 Numb. - XREA で WordPress ファイルアップロード機能を利用する] (2006-08-16、2008-01-07 改訂) | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * [http://lab.chickenheart.jp/wp/2008/03/wordpress-25-%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89/ Chicken Heart Lab - WordPress » WordPress 2.5 でファイルアップロード] | + | |
− | * [http://www.graphact.com/memo/2006/08/16/89 Numb. - XREA で WordPress ファイルアップロード機能を利用する] (2006-08- | + | |
<!-- WPJフォーラム閉鎖のためコメントアウト。 | <!-- WPJフォーラム閉鎖のためコメントアウト。 | ||
* [http://phpbb.xwd.jp/viewtopic.php?p=2342 WordPress Japan フォーラム - ME2.0.4、SafeModeでプラグインが動きません] | * [http://phpbb.xwd.jp/viewtopic.php?p=2342 WordPress Japan フォーラム - ME2.0.4、SafeModeでプラグインが動きません] | ||
--> | --> | ||
+ | |||
+ | == プラグイン == | ||
+ | |||
+ | セーフモードの影響を受けるプラグインについての情報です。他にもあれば書き込んでください。 | ||
+ | |||
+ | * [http://wordpress.org/extend/plugins/wp-cache/ WP-Cache] -- キャッシュディレクトリを手動作成し、パーミッション設定しておくことにより対処可能。 | ||
+ | * [http://wordpress.org/extend/plugins/wp-super-cache/ WP Super Cache] -- "The plugin does not work very well when PHP's safe mode is active. This must be disabled by your administrator."([http://wordpress.org/extend/plugins/wp-super-cache/faq/ FAQ - Troubleshooting 10.]) | ||
== 関連ページ == | == 関連ページ == | ||
188行目: | 216行目: | ||
* [[Core Update Host Compatibility]] -- 本体の自動アップグレード機能対応サーバリスト | * [[Core Update Host Compatibility]] -- 本体の自動アップグレード機能対応サーバリスト | ||
− | == | + | == 変更履歴 == |
− | * | + | * (2.8 か 2.9) : [[#プラグイン新規インストール|プラグイン新規インストール]]に対する [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|CGIモード]](XREA・CORESERVER.JP)のファイル指定が <code>plugin-install.php</code> から <code>update.php</code> に変わりました。実行ファイル変更のため。 |
+ | * [[Version 2.8|2.8]] : 新機能「テーマ新規インストール」も措置が必要です。 | ||
+ | * [[Version 2.7|2.7]] : | ||
+ | ** 新機能[[#コアアップグレード|コアアップグレード]]も措置が必要です。 | ||
+ | ** 新機能[[#プラグイン新規インストール|プラグイン新規インストール]]も措置が必要です。 | ||
+ | * (2.6 か 2.7) : 新機能[[#テーマ自動アップグレード|テーマ自動アップグレード]]も措置が必要です。 | ||
+ | * [[Version 2.5|2.5]] : | ||
+ | ** [[#ファイルアップロード|ファイルアップロード]]に対する [[#XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)|CGIモード]](XREA・CORESERVER.JP)のファイル指定が <code>async-upload.php</code> に変わりました。実行ファイル変更のため。 | ||
+ | ** 新機能[[#プラグイン自動アップグレード|プラグイン自動アップグレード]]も措置が必要です。 | ||
{{DEFAULTSORT:せえふもおとによるせいけんとたいしよほうほう}} | {{DEFAULTSORT:せえふもおとによるせいけんとたいしよほうほう}} | ||
196行目: | 232行目: | ||
[[Category:wp2.5]] | [[Category:wp2.5]] | ||
[[Category:wp2.7]] | [[Category:wp2.7]] | ||
+ | [[Category:wp2.8]] |
2010年1月26日 (火) 02:12時点における版
目次
PHP がセーフモードで動作するサーバの場合、WordPress の一部の機能に制限が生じます。このページでは、セーフモードにより問題が生じる機能とその対処方法をまとめています。
セーフモードとは:
情報募集中:
次の情報を求めています。
協力できることがあれば、該当部分を編集するか、このページのノートまたはフォーラム等で教えてください。
- 措置をしていない場合のエラーメッセージまたはスクリーンショット
- XREA・CORESERVER.JP 以外のサーバで PHP を CGI モードで動かす方法
- 旧バージョンの対処方法も残した方がよい?
- キャッシュ -- WPJ のセーフモードの対処法についてのドキュメント(ME 2.0.x 当時)に「キャッシュ機能の利用」という項目があったのですが、内容を覚えている人いませんか?/最新版では使われていない機能なのかな。。
- 影響のあるプラグイン
- 他にも影響のある機能があれば
キャッシュ
ファイルアップロード
投稿画面に、ローカルコンピュータ上の画像をサーバへアップロード(サムネイルも作成)する機能があります。通常、アップロードディレクトリは WordPress により自動作成されますが、セーフモードの場合、ディレクトリを自動作成できないため、アップロードができません。
方法 1: 事前にアップロードディレクトリを作成しておく
事前にアップロードディレクトリを作成し、パーミッションの書き込み権限を与えておきます。作成するディレクトリ名は 管理パネル > 設定 > その他の設定 の設定値によって異なります。
年月ディレクトリに整理する設定の場合:
-
wp-content/uploads
-
wp-content/uploads/2010/01
-
wp-content/uploads/2010/02
- ...
(使う分が出来ていれば OK)
年月ディレクトリを使わない場合:
-
wp-content/uploads/
方法 2: PHP を CGI モードで動かす
アップロード処理を行なうスクリプトを CGI モードで動かします。
- XREA、CORESERVER.JP の場合は、下記 XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)を参照のこと。
- その他のサーバの対処方法は、まだ情報がありません。
プラグイン自動アップグレード
WordPress 2.5 より、プラグインの最新バージョンを 1クリックでダウンロード・アップグレードできる機能が搭載されました(公式プラグインリポジトリに登録され、当機能に対応しているプラグインのみ)。通常は、新バージョンをダウンロード・展開するディレクトリを WordPress が作成するため、セーフモードでは正常に動作しません。
方法 1: 事前に作業ディレクトリを作成しておく
(参考)
方法 2: PHP を CGI モードで動かす
アップグレード処理を行なうスクリプトを CGI モードで動かします。
- XREA、CORESERVER.JP の場合は、下記 XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)を参照のこと。
- その他のサーバの対処方法は、まだ情報がありません。
プラグイン新規インストール
WordPress 2.7 より、管理パネルからプラグインを検索・新規インストールできる機能が搭載されました(参考)。
方法 1: 事前に作業ディレクトリを作成しておく
(情報募集中)
方法 2: PHP を CGI モードで動かす
インストール処理を行なうスクリプトを CGI モードで動かします。
- XREA、CORESERVER.JP の場合は、下記 XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)を参照のこと。
- その他のサーバの対処方法は、まだ情報がありません。
テーマ自動アップグレード
WordPress x.x より、管理パネルからテーマを最新版にアップグレードできる機能が搭載されました。
通常は、新バージョンをダウンロード・展開するディレクトリを WordPress が自動作成しますが、セーフモードだと次のようなエラーが出ます。
Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 174
Warning: fileowner() [function.fileowner]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 628
Warning: fileowner() [function.fileowner]: stat failed for /tmp/xxxxxxxxxx in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 628
Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 630
方法: PHP を CGI モードで動かす
アップグレード処理を行なうスクリプトを CGI モードで動かします。
- XREA、CORESERVER.JP の場合は、下記 XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)を参照のこと。
- その他のサーバの対処方法は、まだ情報がありません。
コアアップグレード
WordPress 2.7 より、WordPress 本体を 1クリックで新バージョンにアップグレードできる機能が搭載されました(参考)。通常は、新バージョンをダウンロード・展開するディレクトリを WordPress が自動作成します。
セーフモードの場合、管理パネル > ツール > アップグレード画面で [自動アップグレードを実行] ボタンをクリックしたときに次のメッセージが表示され、そのままでは実行できません。
public_html/wp/ ディレクトリに WordPress をインストールしている場合の例:
Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 174
Warning: fileowner() [function.fileowner]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 628
Warning: fileowner() [function.fileowner]: stat failed for /tmp/xxxxxxxxxx in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 628
Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /{アカウントのディレクトリ}/public_html/wp/wp-admin/includes/file.php on line 630
(xxxxx
は数字)
方法 1: 事前に作業ディレクトリを作成しておく
あらかじめアップグレードスクリプトが使用する作業ディレクトリ tmp
を作成し、書き込み可能なパーミッションを設定しておく方法です。
- 自分のアカウントのトップディレクトリの直下に
tmp
ディレクトリを作成し、パーミッションを 707 に設定。- XREA の場合、
/virtual/{アカウント名}/tmp/
- XREA の場合、
- サーバより
wp-config.php
をダウンロードし、テキストエディタで開く。-
// 編集が必要なのはここまでです !
より前に次の1行を挿入。define ('WP_TEMP_DIR', '/{アカウントのディレクトリ}/tmp/');
- UTF-8 BOM なしで保存し、サーバへアップロード。
-
- 管理パネル > ツール > アップグレード画面を開く。
- [自動アップグレードを実行] ボタンをクリック。
- 「接続情報」画面が表示されたら、FTP 接続時の情報を入力して [開始] ボタンをクリック。(詳細はリンク先参照)
- 自動アップグレード処理が続行されます。
- アップグレードが成功したら、上記 1 で作成した
tmp
ディレクトリを削除。
(参考) Binsan’s Cafe » wordpress2.6.1に(問題発生)
方法 2: PHP を CGI モードで動かす
アップグレード処理を行なうスクリプトを CGI モードで動かします。
- XREA、CORESERVER.JP の場合は、下記 XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)を参照のこと。
- その他のサーバの対処方法は、まだ情報がありません。
XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)
XREA・CORESERVER.JP にて、PHP を CGIモードで動かすことにより対処したい場合、次の内容を書いた .htaccess
ファイルを wp-admin/
ディレクトリに置きます。
WordPress 2.9.x の場合:
# 画像・ファイルアップロード <files async-upload.php> AddHandler application/x-httpd-phpcgi .php </files> # プラグイン・テーマ 新規インストール/アップグレード <Files update.php> AddHandler application/x-httpd-phpcgi .php </Files> # 本体アップグレード <Files update-core.php> AddHandler application/x-httpd-phpcgi .php </Files>
#
の行はコメントです。削除して構いません。そのまま記述する場合は UTF-8 BOM なしで保存してください。
注意:
-
#!/usr/local/bin/php
の追加やパーミッションの変更は不要です。 - WordPress のバージョンによって、指定するスクリプト名が異なります。
- WordPress 設置ディレクトリの
.htaccess
にAddHandler application/x-httpd-phpcgi .php
と書かないこと。- 管理パネルの表示が崩れる等の不具合が生じます。
- WordPress 全体が CGI モードで動きます。次項デメリット参照。
- 設定方法・メリット・デメリット: XREA&CORE SUPPORT BOARD » PHPをCGIとして動かす方法について
- CGI モードの場合の追加設定: XREA&CORE SUPPORT BOARD » PHPをCGIとして動かす方法(2)
旧バージョンの場合
WordPress 2.7.x:
# 画像・ファイルアップロード <files async-upload.php> AddHandler application/x-httpd-phpcgi .php </files> # プラグイン新規インストール <Files plugin-install.php> AddHandler application/x-httpd-phpcgi .php </Files> # テーマアップグレード <Files update.php> AddHandler application/x-httpd-phpcgi .php </Files> # 本体アップグレード <Files update-core.php> AddHandler application/x-httpd-phpcgi .php </Files> # プラグインアップグレードも update.php?
それ以前のバージョン:
- Chicken Heart Lab - WordPress » WordPress 2.5 でファイルアップロード (WordPress 2.5)(2008-03-19)
- Numb. - XREA で WordPress ファイルアップロード機能を利用する (2006-08-16、2008-01-07 改訂)
プラグイン
セーフモードの影響を受けるプラグインについての情報です。他にもあれば書き込んでください。
- WP-Cache -- キャッシュディレクトリを手動作成し、パーミッション設定しておくことにより対処可能。
- WP Super Cache -- "The plugin does not work very well when PHP's safe mode is active. This must be disabled by your administrator."(FAQ - Troubleshooting 10.)
関連ページ
- レンタルサーバ情報
- Core Update Host Compatibility -- 本体の自動アップグレード機能対応サーバリスト
変更履歴
- (2.8 か 2.9) : プラグイン新規インストールに対する CGIモード(XREA・CORESERVER.JP)のファイル指定が
plugin-install.php
からupdate.php
に変わりました。実行ファイル変更のため。 - 2.8 : 新機能「テーマ新規インストール」も措置が必要です。
- 2.7 :
- 新機能コアアップグレードも措置が必要です。
- 新機能プラグイン新規インストールも措置が必要です。
- (2.6 か 2.7) : 新機能テーマ自動アップグレードも措置が必要です。
- 2.5 :
- ファイルアップロードに対する CGIモード(XREA・CORESERVER.JP)のファイル指定が
async-upload.php
に変わりました。実行ファイル変更のため。 - 新機能プラグイン自動アップグレードも措置が必要です。
- ファイルアップロードに対する CGIモード(XREA・CORESERVER.JP)のファイル指定が