Drupalを構築、検討していて一番困っているのは、Modulesに6.xに適用したものをセットする時に、エラーメッセージがでてその対処方法がわからないことです。WPなどでは組み入れたpluginは自由にサーバ上で消したところで、エラーがでてどうにかなることはありませんが、このDrupalは初心者にとって、やってはいけないことというのがあるのかさえもわかりません。つまり、初心者にはあまりにも自由度がありすぎるがために、何をどうやったら問題が起きるといったエラー処理に関する方法がわかりません。
今回はmoduleを組み入れている時に、Fatal errorが発生し、それが画面上に組み入れられたエラーメッセージならまだしも、白画面に一文のエラーメッセージなので、もしwebsiteを公開したときに使用している人には迷惑なメッセージではないかと思います。
さて本題に入りますが、以前もエラー処理がわからずdrupalを最初から入れなおしたのですが、今回は今組み入れたmoduleを検討中にFatal Errorが発生したためにその直前にセットしたmoduleを消しました。しかしそれでもエラーが出るので、サーバでそのmoduleを消したら、administerの画面が全く表示されなくなりました。
この対処方法はあるのでしょうか?やはり最初からDrupalを入れなおしたほうが良いのでしょうか?
*まだ2週間ですが、あまりにも設定も多く、何をどうすれば何ができるのかというところがわからないままに検討しているので、その時間がもったいないなと思いはじめました。WPだったら1時間もあればblogは始められるのに、あまりにもDrupalは初心者には超難しいとしかいえません。
Comments
自己レスですが、最初からインストールしなおしました。一部の
自己レスですが、最初からインストールしなおしました。一部のファイルの交換も試みましたが、結局、administerの項目を表示することはできませんでした。blogを投稿するのと同じような感覚で、いつの状態に戻すというアイテムがあってもいいような気がしました。ただadminisiterが全く表示されない以上、adminのやるべき復旧は再インストールしかないようです。
サーバー上のファイルを削除しただけでは、DB上のモジュール
サーバー上のファイルを削除しただけでは、DB上のモジュール関連データが削除されないので、エラーが解決されない場合が多いです。モジュールのインストール時にDBに加えられるデータはモジュールによって変わってくるので、一番安全なのは、モジュールをインストールする前に、DBのバックアップを行うことでしょう。エラーがあった場合、DBのバックアップをリストアすれば、元の状態に戻せるからです。
re:サーバー上のファイルを削除しただけでは、DB上のモジュール
rom3v33様、コメントありがとうございます。
まだデータベースにはデータがほとんど入っていなかったので再インストールもある意味たいしたことはなく。でもゆくゆくの運用を考えると、バックアップ、復旧方法、代わりとなるサイトなどは作っておく必要があるのかなと。
これまで経験上ですが、Modulesをサーバから消す方法は、Modulesの画面でチェックを解除してから行うことで今のところ問題は起きていません。何でも経験ですね。
白画面にFatal
白画面にFatal errorで始まる一行のメッセージは、ある関数が、存在しない関数やファイル参照した際によく出るので、おそらく必要なファイルが消えてしまったのだと思います。
モジュールのアンインストールの仕方ですが、モジュール管理画面(admin/build/modules)でオン/オフを変更すると、データベースのsystemテーブルのstatus列の値が変化します。(0 = オフ 1 = オン)
もしオンにしたままモジュールのファイルを消してしまった場合、そのモジュールのファイルをリストアするか、systemテーブル内の対応レコードのstatusを0にすると、大抵の場合問題が解消すると思います。ただし、必須コアモジュールのファイルを消した場合はstatusを0にしても直らないと思います。
それから、モジュール管理画面の上部に'uninstall'というタブがあり、モジュールによってはここでアンインストールすることで、そのモジュールがインストール時などに作成したデータをDB上から削除できます。ただしファイル自体はファイルシステム内に残っているので、手動で削除してやる必要があります。
モジュールを格納するのは、コアモジュールの格納されているmodulesディレクトリではなく、sites/all/modules下に入れると管理しやすいですよ。
dokumori様、コメントありがとうございます。 Fat
dokumori様、コメントありがとうございます。
Fatal Errorはメモリ不足に関する内容で、すべてのエラーメッセージをここに書かなくてすみません。このメモリの問題は英語サイトでもすでに解決方法が書かれてあったので、それは解決済みです。
modulesに関しては経過としては私の書いたとおりですが、今はご指摘のとおり、Modulesの画面でチェックをはずしてからサーバ上から消しています。以前はWPの経験から先にサーバ上で消してしまったためにDrupalではその復旧方法がわからなかったわけです。
今はそのチェックのON/OFF状態も気にしていますが、私は主にFIREFOXを利用してタブでウインドウを次から次に開いているので、運がよければ、元に戻すこともできるのかなと。もちろん、サーバ上から直接Moduleを削除することはこの最初の投稿から止めています。
sites/all/modules下に新しいModulesを入れていくのも守っています。(themeも同じ)
WPは書籍がなくてもどうにかなりますが、Drupalははじめたと同時に各名称(Menuとかstoryなど)の意味や設定、構築の順番などわからないことばかりだったので、書籍を2冊購入。
・Drupal Pro Book
・実践プログラミング Drupal 徹底入門
このDrupal Pro Bookを元に基本的な操作方法は得たつもりです。ただModulesをサーバ上で直接削除する方法/条件とか、エラー処理については書かれていないので、それはgoogle検索で主に英語サイトの記述を参考にやっています。実践プログラミング Drupal 徹底入門はまだ読んでいませんが、今回はLayoutの作り方で既存のthemeからコピーをとって作ったので、今後は必要なものがなければ自分で作っていくということも考えながら書籍も参考にしていこうと思っています。
--
*Menu作成の質問からこのModulesの問題と投稿してきましたが、すでにNewsサイトの基本はできました。Layoutも自由に作成できるのもWPではなかったこと。ただ設定には時間がかかることはしょうがないなと。今後は見栄えなど細かいところをやる予定です。英語のサイト情報にはすでに回答が存在していると思いました。今後もそれを利用して、とにかく慣れていくしかないのかなと思います。自由度がありすぎて素人には難しい印象でしたが、私の場合はそれをWPのblogで書いているので、ゆくゆくはそれを元に詳細の解説書なるものをまとめる予定です。今はとにかく、自分が描いているサイトを日々作っていこうと思っています。