[EC-CUBE3]プラグインインストール時のエラー

プラグインをインストールしようとしたときに下記のエラーが発生

config.yml not found or syntax error

プラグイン内のconfig.ymlが読み込めないというエラーです。

プラグインを解凍して再圧縮した場合ディレクトリ構造が変わるので、それが原因の場合があります。
心当たりがあればそこを修正してください。

例えば..
TestPluginという名前のプラグインを解凍

ファイル階層
TestPlugin
 config.yml

TestPluginフォルダを圧縮するとファイル階層が1個増えてしまいます。

TestPlugin/config.yml

TestPluginフォルダは必要なしです。

下記になるのが正解です。

/config.yml

chromeで「この接続ではプライバシーが保護されません」

chromeで検索したときに「この接続ではプライバシーが保護されません」と表示され検索ができなくなる場合。

IEやfirefoxなどは大丈夫だけどchromeだけでNGというパターン

セキュリティソフトでカスペルスキーを導入されている場合、それが原因なことがあります。

「カスペルスキー スモールオフィス」でこの症状が何件か発生してます。

設定を変更しましょう。

「設定」→「詳細」→「ネットワーク」

「暗号化された接続をスキャンしない」に設定すると解決です。

PDOでMySQLの操作をしてみる

PHP7での話し。
PHP7ではMDB2が動かなかったので、PDOでDB操作をしてみたの。

かなり簡単だけどサンプルコードを作ってみましたのよ。

# DB接続
$con = new PDO("mysql:host=$host;dbname=$dbname", $usr, $passwd);

# 検索
$select = "SELECT count(*) as cnt FROM mail WHERE mail = '$mail'";
$stmt = $con->query($select);
if(!$stmt){
	echo '検索に失敗しました。';
	exit;
}
$cnt = $stmt->fetch(PDO::FETCH_ASSOC);

if(!$cnt["cnt"]){
	# データ登録
	$insert  = "INSERT INTO mail (mail, date) ";
	$insert .= "VALUES('$mail', '".date("Y-m-d H:i:s"). "')";
	if(!$con->query($insert)){
		echo 'データの登録に失敗しました。';
		exit;
	}
}

$stmt = null;// クリア
$con = null;// クリア

phpPgAdminでデータのインポート

phpPgAdminでインポートするときに困ったこと。

テーブルのデータ入れ替えでクライアントよりデータを頂きました。
それをCOPYコマンドでデータを作ってインポート

「SQL実行完了」と表示されてもデータがインポートされていない。

色々調べてみたらどうやら\マークがNGだったようです。

「お米\1300」といった感じのデータがあると×
エスケープ文字なので当然といえば当然ですね。

これをエスケープしてしまえばOKです。
「お米\\1300」

これでインポートできた!

[Windows]定期再起動の実行

WindowsXPでの話ですけどね。

XPを定期的に再起動したくて調べたときの話。

Windowsのタスクを使うと実現できるようです。

コントロールパネル→タスク→スケジュールされたタスクの追加

「参照」からC:\WINDOWS\system32\shutdown.exeを指定する。
「日単位」を選択
「開始時刻」を選択。このタスクの実行は「毎日」
パスワードを設定している場合はパスワードを入力する
(実行には管理者権限が必要です)
最後に「完了」

タスクに追加されます。
このままだとシャットダウンになってしまうので修正します。
そのタスクのプロパティを開きます。

タスクタブの実行するファイル名のshutdown.exeの後ろに「 -r」を追加します。(リスタートのrです)
「C:\WINDOWS\system32\shutdown.exe -r」となります。
OKクリック→パスワード入力→OK

これで定期再起動の実行設定完了です。

htaccessでメンテナンスページ

作成したメンテナンスページにhtaccessで一括で転送する方法

これはApacheのバージョンによって書き方が違ってきます。
バージョンが古いとエラーになりますので、両方記載します。

メンテナンスということでレスポンスコード503で表示したいところですが、
Apacheの仕様で使えない場合は500エラーになります。

Apacheのバージョンが2.2以上であればレスポンスコード503の操作が可能

ErrorDocument 503 /mente2.html
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/mente2.html
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

Apacheのバージョンが2.2以前であればレスポンスコードは300~400の操作が可能

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/mente2.html
  RewriteRule ^.*$ /mente2.html [R,L]
</IfModule>

500エラーが出た場合はエラーログを確認しましょう。
そこにエラーの内容が記載されています。
今回の場合は下記のエラーでした。

RewriteRule: invalid HTTP response code for flag ‘R’

hostsファイルについて

サーバー移転時など、DNS切り替え前に動作テストをしたいですよね。
その場合Windowsであればhostsファイルを書き換えることで新サーバーでのテストが行えます。

hostsファイルの場所は下記のとおりです。

■Windows 10

C:\Windows\System32\drivers\etc\hosts

-*-*-*-*-

■Windows 8 or 8.1

C:\Windows\System32\drivers\etc\hosts

-*-*-*-*-

■Windows 7

C:\Windows\System32\drivers\etc\hosts

-*-*-*-*-

■Windows Vista

C:\Windows\System32\drivers\etc\hosts

hostsファイルの書き方

上記のhostsファイルをメモ帳などのテキストエディタで開きます。
※編集には管理者権限が必要です。

hostsファイルを頻繁に編集する場合は下記のようなソフトを使うと管理が楽です。
Hosts File Manager
http://softwarefactory.jp/ja/products/hostsfilemanager/

hostsファイルのフォーマット

IP [スペース、TAB] ドメイン名

(例)
182.22.59.229 yahoo.co.jp

保存後にはブラウザの再起動を行います。
ブラウザの再起動でも切り替わらない場合はパソコンの再起動をしましょう。

上記のように移転ドメインの新サーバーのIPを指定することで新サーバーでの動作テストが行えます。
動作テストが終わった後は削除して元に戻しましょう。

windows端末では可能ですが、スマホやガラケーなどでは上記対応ができないので要注意です。

謹賀新年2018

最近はじめたブログですが、2018年もよんな~書き綴っていこうと思います。

2018年も宜しくお願い致します。