Drupal 7

Drupal 7 で単一のノードを別の Drupal サイトにコピーする方法

Drupal で単一、あるいは小数のノードを特定の Drupal サイトから別の Drupal サイトに移動する方法について。

いくつか方法はあるかと思いますが、たとえば、ローカルの開発環境から本番環境へひとつだけのノードをサッと移すだけであれば Node export モジュールがおすすめです。 以下具体的な方法をご紹介します。

まずは移行元のサイトと移行先のサイトの両方に Node export をインストールし有効化します。

Drupal 7 でテーマのベーステーマが見つからないときのエラー

エラー

Drupal で有効でデフォルトになっているテーマのベーステーマが存在しないときに以下のような警告文が表示されます。 厳密にはエラーではありませんが、そのまま放置していても正常な動作をするようにはならないので広義のエラーと言ってもよいでしょう。

Drupal 7 でルートディレクトリを移動するとページが見れなくなるエラー

Drupal があるルートディレクトリを移動したりリネームしたりするとエラーが出てしまいページが見れなくなります。

エラー

私の環境では次のようなエラーが出ました。出てくるエラーは状況により変わることがあるようです。

Fatal error: Class 'SelectQuery' not found in /path/to/drupal/root/includes/database/database.inc on line 813

原因

正確な原因は不明のままですが、キャッシュ周りが怪しそうです。

Drush のオートコンプリーションが効かない問題の解決方法

Drush のオートコンプリーションの設定をしたはずなのにそれが効かない場合の対処方法についてです。

問題

Drush のオートコンプリーション(自動補完)を有効にするためのスクリプトを読み込んだのにコートコンプリーションが有効にならない。

Drupal 7 で cron を実行しようとすると「実行中です」と出て実行できないエラー

Drush を使ってコマンドラインから cron を実行しようとしたときに次のよなエラーが出て実行できないことがあります。

WD cron: Attempting to re-run cron while it is already running.

原因

原因は cron が実際すでに実行中か、前回の cron の途中に何らかの理由で cron が中断されてしまい cron に使用したデータの残骸が残っている場合が多いようです。

Drupal 7 でなるべく多くのエラーを画面に表示するための設定

settings.php に次の行を追加します。

error_reporting(-1); 
$conf['error_level'] = 2; 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE);

すると、エラー発生時はなるべく画面に表示することができます。開発用なので本番サイトでは必ず削除するようにしましょう。ネタ元は Definitive guide to Drupal 7 です。

Drupal 7 でテーマの .info ファイルのスタイルシートの記述が間違っている場合のエラー

エラー

Warning: Invalid argument supplied for foreach() list_themes() (/path/to/drupal/includes/theme.inc ファイル 803行).

原因 / 対処方法

原因は有効にしているテーマの .info ファイル内のスタイルシートなどの設定が間違っていることです。よくあるのは次のまちがい。正の方に修正してキャッシュをクリアしたら直ります。

誤:

stylesheets[] = css/style.css

正:

Drupal 7 で翻訳ファイルディレクトリのパーミッションが適切でないときのエラー

エラー

ご指定のファイル temporary://fileZBvlrY はコピー先ディレクトリーが正しく設定されていないため、コピーされませんでした。ディレクトリーパーミッションが原因かもしれません。詳しくはシステムログを参照してください。

原因

原因は翻訳ファイル・ディレクトリのパーミッションが書き込み可能でないこと。もしくは、テンポラリーディレクトリのパーミッションが書き込み可能でないこと。

ページ