2019/06/20 00:19 JST

Geeklog Japan Forums

テーマを変更


状態: オフライン

KUREYON

Forum User
Active Member
登録日: 11/10/06
投稿数: 74
Geeklog 2.1.0にアップデートしうまくいったのを確認した後、テーマを変更したら、
An error has occurred:
(This text is only displayed to users in the group 'Root'Wink
E_WARNING(2) - Cannot modify header information - headers already sent by (output started at /virtual/XXXXXX/public_html/layout/newspaper/functions.php:135) @ /virtual/XXXXXX/public_html/lib-common.php line 1722
というエラーが出て、他のテーマへも変更できなくなりました。

Call Stack
# Function File Line
1 header /virtual/XXXXXX/public_html/lib-common.php 1722
2 COM_createHTMLDocument /virtual/XXXXXX/public_html/admin/index.php 67

LAYOUT フォルダのデータを再度転送しましたが、解決しません。
テーマは「newspaper1.2 for 2.1.0」です。
FTP は Failezilla を使用しています。

あとはどんなところを対処したらいいでしょう?

Cry

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
/admin/install/rescue.php で、テーマの変更はできますのでお試しください。

テーマを追加した際に、なにか変更されているでしょうか。

テーマのディレクトリ名を変更した場合は、functions.phpで、関数名の、newspaper を置換してください。

なお、テーマ名に、 ピリオド、ハイフン は使えません。
すべて小文字を推奨します。
customは予約語なので、テーマ名などに使わないでください。

GeeklogのCacheも念のため削除してみてください。
サイトURL/admin/clearctl.php

また、ブラウザのCookie キャッシュファイルも削除してください。

http://demo.geeklog.jp/
こちらにnewspaper を追加しました。問題はないようですので、お試しください。

Google Chromeをお使いなら、シークレットウィンドウで、テストをお願いします。

状態: オフライン

KUREYON

Forum User
Active Member
登録日: 11/10/06
投稿数: 74
テーマのディレクトリ名は変えていません。
/admin/install/rescue.php でテーマ名を変えようとしたら、「path_themes:」が空欄でした。
これでよいのでしょうか。
デバッグモードをOnにして、rescue.phpで、テーマを「newspaper」から「Modern_Curve」に変えたら、
If this is a production website you must disable this option once you have resolved any issues you are investigating.
E_WARNING(2) - closedir() expects parameter 1 to be resource, boolean given @ /virtual/XXXXXX/private/plugins/themedit/functions.inc line 705
Call Stack
# Function File Line
1 closedir /virtual/XXXXXX/private/plugins/themedit/functions.inc 705
2 THM_getAllThemeFiles /virtual/XXXXXX/private/plugins/themedit/functions.inc 70
3 require_once /virtual/XXXXXX/public_html/lib-common.php 9021
4 require_once /virtual/XXXXXX/public_html/index.php 35
というエラーになりました。
そこでテーマエディタを無効化しました。
そうしたら、今度は
E_WARNING(2) - htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument @ /virtual/XXXXXX/public_html/lib-common.php line 8454
Call Stack
# Function File Line
1 htmlspecialchars /virtual/XXXXXX/public_html/lib-common.php 8454
2 COM_escapeMetaTagValue /virtual/XXXXXX/public_html/lib-common.php 8489
3 COM_createMetaTags /virtual/XXXXXX/public_html/lib-common.php 2096
4 COM_createHTMLDocument /virtual/XXXXXX/public_html/index.php 421
表示されました。
パーミッションはアップグレード前と変更していません。
また、 http://wiki.geeklog.jp/index.php?title=InstallPermission14 を参考に確認しましたが、変わっていないように思います。
次は何をチェックしたらよいものでしょう?

Quote by: Ivy

/admin/install/rescue.php で、テーマの変更はできますのでお試しください。

テーマを追加した際に、なにか変更されているでしょうか。

テーマのディレクトリ名を変更した場合は、functions.phpで、関数名の、newspaper を置換してください。

なお、テーマ名に、 ピリオド、ハイフン は使えません。
すべて小文字を推奨します。
customは予約語なので、テーマ名などに使わないでください。

GeeklogのCacheも念のため削除してみてください。
サイトURL/admin/clearctl.php

また、ブラウザのCookie キャッシュファイルも削除してください。

http://demo.geeklog.jp/
こちらにnewspaper を追加しました。問題はないようですので、お試しください。

Google Chromeをお使いなら、シークレットウィンドウで、テストをお願いします。


状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
path_themes:が空欄ではだめです。
ただしいパス /path_to_public/layout/ を入力してください。
テーマへのパスを入力します。

path_themesの値が入っていないということは、コンフィギュレーションのアップデートが完全にできていないのかもしれません。
アップグレードの途中でエラーは出なかったでしょうか。
アップグレードの際には、あらかじめプラグインを無効にする、テーマをバージョンアップして置く このふたつが必要です。

「newspaper」から「Modern_Curve」に変えた

「Modern_Curve」ではなく、ディレクトリのなまえそのまま modern_curve を入れてください。
Modern Curve というのは、modern_curve というディレクトリ名であればコンフィギュレーションでの表示の際に
Modern Curve と変換して”表示”しているだけなのです。
データベースには、modern_curveと、セットされています。

状態: オフライン

KUREYON

Forum User
Active Member
登録日: 11/10/06
投稿数: 74
https://www.geeklog.jp/article.php/20140720024346366 でアップデートしました。
プラグインは全て無効化してアップグレードしました。
ただ、上記の通りアップグレードしたら、メンテナンス中ですという画面になり、成功したかどうかが分かりません。
上手く動作したので成功したと思っていたのですが、確認方法はありますか?
また、コンフィ木レーション画面ではテーマのパスを設定するところが見つけられませんが、項目はどこなのでしょうか。

Quote by: Ivy

path_themes:が空欄ではだめです。
ただしいパス /path_to_public/layout/ を入力してください。
テーマへのパスを入力します。

path_themesの値が入っていないということは、コンフィギュレーションのアップデートが完全にできていないのかもしれません。
アップグレードの途中でエラーは出なかったでしょうか。
アップグレードの際には、あらかじめプラグインを無効にする、テーマをバージョンアップして置く このふたつが必要です。

「newspaper」から「Modern_Curve」に変えた

「Modern_Curve」ではなく、ディレクトリのなまえそのまま modern_curve を入れてください。
Modern Curve というのは、modern_curve というディレクトリ名であればコンフィギュレーションでの表示の際に
Modern Curve と変換して”表示”しているだけなのです。
データベースには、modern_curveと、セットされています。


状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
失礼しました。
以下のように、2.0から2.1へのアップグレードで、path_themesは不要になったのでした。

PHP Formatted Code
    // Remove path_themes (the location of the layout directory since hardcoded now)
    $c->del('path_themes', 'Core');
 


rescue.phpで直接テーマを変更するならNewspaperではなく、newspaperにしてください。


newspaper/functions.php
このソースの一番最後の ?> に続くふたつの改行を削除したらどうなるでしょうか。

functions.php は、ご自身でエディターで編集されているでしょうか。
もし編集されていたならBOM無しで保存されているでしょうか。

状態: オフライン

KUREYON

Forum User
Active Member
登録日: 11/10/06
投稿数: 74
とりあえず、newspaper以外は動作するようになりました。

当面このままで運用しようと思います。ありがとうございました。

FastCGI版のPHPを利用しているのが問題なのでしょうかね。


Quote by: KUREYON

https://www.geeklog.jp/article.php/20140720024346366 でアップデートしました。
プラグインは全て無効化してアップグレードしました。
ただ、上記の通りアップグレードしたら、メンテナンス中ですという画面になり、成功したかどうかが分かりません。
上手く動作したので成功したと思っていたのですが、確認方法はありますか?
また、コンフィ木レーション画面ではテーマのパスを設定するところが見つけられませんが、項目はどこなのでしょうか。

Quote by: Ivy

path_themes:が空欄ではだめです。
ただしいパス /path_to_public/layout/ を入力してください。
テーマへのパスを入力します。

path_themesの値が入っていないということは、コンフィギュレーションのアップデートが完全にできていないのかもしれません。
アップグレードの途中でエラーは出なかったでしょうか。
アップグレードの際には、あらかじめプラグインを無効にする、テーマをバージョンアップして置く このふたつが必要です。

「newspaper」から「Modern_Curve」に変えた

「Modern_Curve」ではなく、ディレクトリのなまえそのまま modern_curve を入れてください。
Modern Curve というのは、modern_curve というディレクトリ名であればコンフィギュレーションでの表示の際に
Modern Curve と変換して”表示”しているだけなのです。
データベースには、modern_curveと、セットされています。


状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
Newspaper の不具合 functions.php 最後に不要な改行がついているための不具合だと思いますが、それは削除していただいたでしょうか。

サーバーの設定でphpのoutputバッファの設定がされているとそのエラーは発生しないはず。
とのことです。

状態: オフライン

KUREYON

Forum User
Active Member
登録日: 11/10/06
投稿数: 74
> サーバーの設定でphpのoutputバッファの設定がされているとそのエラーは発生しないはず。
> のことです。

これがまだ調査中ですが、運用的にCORESERVERのFastCGI版のPHPを使っているのが問題かと思い始めています。

newspaperは手つかずでアップロードした状態です。



Quote by: Ivy

Newspaper の不具合 functions.php 最後に不要な改行がついているための不具合だと思いますが、それは削除していただいたでしょうか。

サーバーの設定でphpのoutputバッファの設定がされているとそのエラーは発生しないはず。
とのことです。


状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
functions.phpにおいて、ソースの最後に不要な文字が追加されると、サーバーによって不具合が発生します。
functions.phpに問題がありますので、ソースの最後の不要な改行を削除してください。
ただそれだけでおそらく解決します。

時刻はすべて JST , 現在の時刻は 12:19 AM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック