|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
sslでGoogleマップが表示できない問題の解決策
サーバー移転に伴い、Googleに習ってサイトを暗号化表示するようURLの頭を「http」から「https」に変更して動作確認したところ、Googlマップが表示されるところが空白になる。
Firefox(ブラウザー)で「ツール(T)→web開発(w)→webコンソール(w)」として開発ツールを開いてネットワーク接続の流れを確認すると、GooglMapを操作するjavascriptファイルが「403 Forbidden」エラーとなっている。
Google検索してみると、2016年6月からGoogleポリシーが変り、GoogleMap APIを呼ぶ際に、APIキーを設定して呼ばないと相手方からアクセス拒否されたことを意味する「403 Forbidden」エラーになるとのこと。
元々、APIキーを設定して利用していたものをGoogleの仕様変更でAPIキー無しでも利用できるようになったので、試しにAPIキー付きをコメントアウトして利用していたサイトであること、且つ、http接続では問題なく表示されることから Google側がアクセス拒否しているのではないだろうと思いつつもエラー解決した先人に習ってAPIキー付きで呼び出してみたが、現象に変化なし。
調査対策の結果、GoogleマップAPIを呼び出すファイルとGoogleマップを操作するjavascriptファイルの保存フォルダーが4階層離れたところに位置していたものを1段減らしたらGoogleマップも表示できるようになった。
前:src="//○/×/△/gMap.js"
↓
後:src="//○/△/gMap.js"
サイトにhttpとhttps呼び出しが混在しているのが影響しているのか?
Nucleus アイテムの編集画面でスクロールバーが表示されない等の不具合修正
環境:OS:debian 、ブラウザー:iceweasel(firefox)
- アイテムのポップアップ編集画面にスクロールバーが表示されず、登録ボタンが見えない問題を改善する。
yoursite/nucleus/libs/include/bookmarklet-edit.templateのCSSを修正
yoursite/nucleus/styles/addedit.cssの先頭に、以下を追加
#tabs {
height: 410px;
overflow: scroll;
padding: 1px !important;
margin: 0px;
vertical-align: top;
}
- アイテムのポップアップ新規登録、編集画面でキャンセルボタンをクリックしても画面が閉じない問題を改善する。
yoursite/nucleus/libs/include/にある bookmarklet-edit.templateとbookmarklet-edit.template の157行目当たりにある以下を修正
修正前 <input id="canselButton" type="button" value="" tabindex="410" />
修正後 <input id="canselButton" type="button" onclick="window.close()" value="" tabindex="410" />
PHP5.4.4でnucleus3.65が空白画面になる
phpが5.4.4にアップグレードされたらnucleus3.65が真白な画面になった。
nucleusフォーラムの「
PHP5.4.4でnucleus3.64が表示されない」を参考にして、
nucleus/libs/ディレクトリー以下にあるファイル中の 「 =& 」を「 = 」に置換した。
加えて、警告メッセージが表示されたプラグインファイルも同じ処置をした。
php5.4.4から、参照渡しによる呼び出しがサポートされなくなったのが原因とのこと。
nucleus3.64でphp5.4.4だと不具合がでることを指摘されているにも関わらず、最新版のnucleus3.65で対応していないというのがちょっと寂しい。
因みに、globalfunctions.phpの22行目当たりにある
$CONF['debug'] = 0;を
if($_SERVER['REMOTE_ADDR']=='192.168.x.xサーバーIPアドレス'){
$CONF['debug'] = 1;
}else{
$CONF['debug'] = 0;
}
に書き換えて、外からの閲覧者にエラーメッセージ等が表示されないようにしてから対処した。
Nucleus3.6xでアイテムの編集フォームのスクロール機能を改善する
Nucleus3.6xでアイテムの編集フォームを開いて、記事を書いた後、「保存」ボタンをクリックしようにも規定のフォームサイズではスクロールバーの挙動が不充分で最下行にある「保存」が表示されず、全画面表示にして「保存」ボタンが表示させていた。
いちいち前画面表示にするのは不便なので、規定のフォームサイズでも「保存」ボタンが表示されるまでスクロールバーが動かせるように修正する。
修正するファイルは次のとおり。
1)/yourdir/nucleus/lib/include/bookmarklet-edit.template
- 62行目の<form id="editform" method="post" action="bookmarklet.php" >を
<form id="editform" class="contentblock" method="post" action="bookmarklet.php" >に変更
- 74行目の<div id="body" class="contentblock">を<div id="body" >に変更
- 93行目の<div id="more" class="contentblock">を<div id="more">に変更
2)/yourdir/nucleus/styles/bookmarklet.css
- 62行目当たりにある
.contentblock {
---
overflow: auto;
overflow: scroll;
} のoverflow: auto;をoverflow: scroll;に変更
Nucleus3.64 インストール時のエラー処置
MySQL サーバーのバージョン 5.5.19
MySQL クライアントのバージョン: 5.0.51a
環境でNucleus3.64をインストールしようと、データベース名や管理者などの初期設定データを入力後「インストールを実行する」を押し下げると、最初のテーブル`nucleus_actionlog`を作成する箇所でsintaxエラーが発生。
CREATE TABLE `nucleus_actionlog` (
`timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
`message` varchar(255) NOT NULL default ''
) TYPE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
エラーメッセージから ”TYPE=MyISAM; DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;” のところで、エラーとなっている。
いろいろ試してみたら
TYPE=MyISAM; DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
を
ENGINE=MyISAM; DEFAULT CHARSET=utf8
に書き換えるとテーブルが作成できることが判ります。
同じ問題を抱えている方に向けて、最終的な対処手順を記しておきます。
1.installフォルダーのindex.phpの修正
772行の$query .= ' DEFAULT CHARACTER SET ' . $charset . ' COLLATE ' . $collation;をコメントアウトして、
$query .= ' DEFAULT CHARSET=' .$charset;にする。
2.install.sqlファイルを開いて、”TYPE=MyISAM”となっている箇所を”ENGINE=MyISAM”に置換する。
以上
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |