perlで直下にあるモジュールを込みこんでくれず internal server errorになる!

だいぶ悩んだ。
スクリプトと同じところにモジュールあるのに読んでくれなくて。。
下記らしいです。

Perl 5.26ではセキュリティ上の問題で@INCにカレントディレクトリが含まれなくなります

市販のカートプログラムなので、なかなか改造するわけにいかない。。。
とりあえずモジュールはパスの通っているところに放り込む。

とおもたんですが。。5.24 に変更してとりあえず問題先延ばし。

刹那

森山良太郎の「さくら」を聴いてて「刹那」って何だと思って調べたらびっくり。

【刹那】
きわめて短い時間。瞬間。

刹那の長さについては諸説あるが、指をひとはじきする(弾指)間に65刹那あると言われているほか、『大毘婆沙論』では、24時間=30牟呼栗多=900臘縛=54,000怛刹那=6,480,000刹那とし、1刹那の長さを1/75秒に比定している。

しかし、唯識教学の開祖である龍樹は、刹那に具体的な時間的長さを設定する思想を否定している。

極めて短い時間を念といい、一刹那、または60刹那、または90刹那などを一念とする

https://ja.wikipedia.org/wiki/%E5%88%B9%E9%82%A3

【ECCUBE】DBのrankとかを変更した際のキャッシュのクリア

以下の中身を削除
/shop/data/cache

【ECCUBE】会員登録フォームおよび注文フォームで性別の初期値を指定する。

会員登録フォームおよび注文フォームで性別の初期値を指定する。

/shop/data/class/helper/SC_Helper_Customer.php
本来なら
/shop/data/class_extends/helper_extends/SC_Helper_Customer.php
なんだと思いますがとりあえず

/shop/data/class/helper/SC_Helper_Customer.phpで
$objFormParam->addParam(‘性別’, $prefix . ‘sex’, INT_LEN, ‘n’, array(‘EXIST_CHECK’, ‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’));
末尾に ,2 を追加すると女性が初期選択値になります。

/shop/data/class_extends/helper_extends/SC_Helper_Customer.php
でやるなら

/**
* 会員登録共通
*
* @param SC_FormParam $objFormParam SC_FormParam インスタンス
* @param boolean $isAdmin true:管理者画面 false:会員向け
* @param boolean $is_mypage マイページの場合 true
* @param string $prefix キー名にprefixを付ける場合に指定
* @return void
*/
public function sfCustomerRegisterParam(&$objFormParam, $isAdmin = false, $is_mypage = false, $prefix = ”)
{
$objFormParam->addParam(‘パスワード’, $prefix . ‘password’, PASSWORD_MAX_LEN, ”, array(‘EXIST_CHECK’, ‘SPTAB_CHECK’, ‘ALNUM_CHECK’));
$objFormParam->addParam(‘パスワード確認用の質問の答え’, $prefix . ‘reminder_answer’, STEXT_LEN, ”, array(‘EXIST_CHECK’, ‘SPTAB_CHECK’, ‘MAX_LENGTH_CHECK’));
$objFormParam->addParam(‘パスワード確認用の質問’, $prefix . ‘reminder’, STEXT_LEN, ‘n’, array(‘EXIST_CHECK’, ‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’));
// 末尾に女性を示す値”2″を設定
$objFormParam->addParam(‘性別’, $prefix . ‘sex’, INT_LEN, ‘n’, array(‘EXIST_CHECK’, ‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’), 2);
$objFormParam->addParam(‘職業’, $prefix . ‘job’, INT_LEN, ‘n’, array(‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’));
// XXX: year,month,dayはprefix付けないのが今のところ共通
$objFormParam->addParam(‘年’, ‘year’, 4, ‘n’, array(‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’), ”, false);
$objFormParam->addParam(‘月’, ‘month’, 2, ‘n’, array(‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’), ”, false);
$objFormParam->addParam(‘日’, ‘day’, 2, ‘n’, array(‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’), ”, false);

// 末尾にHTMLメールを示す値”1″を設定
$objFormParam->addParam(‘メールマガジン’, $prefix . ‘mailmaga_flg’, INT_LEN, ‘n’, array(‘EXIST_CHECK’, ‘NUM_CHECK’, ‘MAX_LENGTH_CHECK’), 1);

if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) {
$objFormParam->addParam(‘メールアドレス’, $prefix . ‘email’, null, ‘a’, array(‘NO_SPTAB’, ‘EXIST_CHECK’, ‘EMAIL_CHECK’, ‘SPTAB_CHECK’ ,’EMAIL_CHAR_CHECK’));
$objFormParam->addParam(‘パスワード(確認)’, $prefix . ‘password02’, PASSWORD_MAX_LEN, ”, array(‘EXIST_CHECK’, ‘SPTAB_CHECK’ ,’ALNUM_CHECK’), ”, false);
if (!$isAdmin) {
$objFormParam->addParam(‘メールアドレス(確認)’, $prefix . ‘email02’, null, ‘a’, array(‘NO_SPTAB’, ‘EXIST_CHECK’, ‘EMAIL_CHECK’,’SPTAB_CHECK’ , ‘EMAIL_CHAR_CHECK’), ”, false);
}
} else {
if (!$is_mypage) {
$objFormParam->addParam(‘メールアドレス’, $prefix . ‘email’, null, ‘a’, array(‘EXIST_CHECK’, ‘EMAIL_CHECK’, ‘NO_SPTAB’ ,’EMAIL_CHAR_CHECK’, ‘MOBILE_EMAIL_CHECK’));
}
}
}
を追記と思います。

http://black-son.com/php/ec-cube/566 を参考にしました。

Traceback (most recent call last):

https://freebsd.sing.ne.jp/daily/05/02.htmlcerbotを実行すると下記のようなエラーが出た。
jailの環境をコピーしたりして作ったjailで出たんだけど。

> certbot –help
Traceback (most recent call last):
File “/usr/local/bin/certbot”, line 6, in
from pkg_resources import load_entry_point
File “/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py”, line 3138, in

・・・

File “/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py”, line 867, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The ‘acme==0.19.0’ distribution was not found and is required by certbot

/usr/ports/security/py-acme
を reinstall するとうまくいくそうです。

下記に記載がありました。
https://freebsd.sing.ne.jp/daily/05/02.html

Host key verification failed.

sshで接続しようとすると「Host key verification failed.」と表示される。
slogin -v で表示されると

read_passphrase: can’t open /dev/tty: Device busy

が最後の行に表示される。

これは、jexec でログインしているから。

https://ituki.proj.jp/log/20080130.html

【熱帯魚】ジェックス 外部式フィルター メガパワー

ジェックスのメガパワーという外部式フィルターを使ってます。
個人的にはすごく気に入っています。モーターが濾過槽と別になって、モーターが水槽内に設置になり水槽内のスペースを占有するというのはありますが、モーターが壊れたら「交換すればよい」というのがすごく助かります。
昨日気が付いたら濾過のアウト側の水がチョロチョロになってて。。なんかモーター壊れたかなーと思ってモーターを購入、交換しましたが現象は変わりませんでした。
うーーん。。。と思って濾過器の中を掃除するとすっかり元に戻りました。汚れで水流が悪かったのですね。。ちゃんと掃除しましょう。。

【ECCUBE】別のデータベースに商品を移行する。

商品の価格修正などで一旦テストアップをして、その後本アップしたい場合。

商品データだけを本サイトに移したい場合の作業。

移行用のデータベースが作成できることが前提です。

・本サイト用のデータベース(現在のデータベース)
・仮アップ用のデータベース(テストアップ用のデータベース)
・移行後のデータベース  (移行を速やかにするため、このデータベースにすべて移行して切り替える。)

の3つを用意する。テストアップなどは狩りアップ用のデータベースにアップする。)

ここでは、本サイトは shop/ で仮アップは shop_test/ にして、切り替え時は下記作業の後 shop/をshop_bak/ にして、shop_test/をshop/に変更して本稼働とする。

下記の手順で商品データを移行後のデータベースに仮アップ用データベースからコピーする。
手順
1.本サイトのデータベースを移行後のデータベースに丸ごとコピーする。
2.移行後のデータベースに仮アップ用のデータベースから商品データ関係をコピーする。
3.本サイトで使うデータベースを移行後のデータベースに切り替える。

作業
1.移行後用のデータベースに本サイト用のデータベースの内容を丸ごとコピーする。(phpMyAdminなどでエクスポートしてインポートしてコピーのDBを作る)
2.移行後のデータベースに、仮アップ用のデータベースの商品関係データをコピーする。
移行後のデータベースの下記テーブルを一旦空にする。
その後、仮アップ用のデータベースで、「操作」「テーブルを(database.table)にコピーする」-「データのみコピー」でデータをコピーする。
****************************************
カテゴリー
■dtb_category
■dtb_category_count
■dtb_category_category_id_seq
■dtb_category_total_count

規格(登録されていれば必要)
■dtb_class
■dtb_classcategory
■dtb_classcategory_classcategory_id_seq
■dtb_class_class_id_seq

商品
■dtb_products
■dtb_products_class
■dtb_products_class_product_class_id_seq
■dtb_products_product_id_seq
■dtb_product_categories
■dtb_product_status

関連商品
■dtb_recommend_products

商品に対する書き込み
■dtb_review
■dtb_review_review_id_seq

お客様の声(登録されていれば必要)
■dtb_review
*****************************************
商品画像は、「html/upload/save_image」のデータを移行する。

以下サイトを参考にしました。
http://itoben.com/blog/528.html
https://www.kaiplus.com/user_data/move_001_product.php

以上です。

【ECCUBE】商品規格の値を修正の後、「確認」ボタンで確認画面が表示されず修正の画面に戻る。

商品規格の値を修正の後、「確認」ボタンで確認画面が表示されず修正の画面に戻る。

/shop/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php

が規格の編集後の確認画面へのプログラムのファイルのよう。

87行目あたり
if (SC_Utils_Ex::isBlank($this->arrErr)) {
$this->tpl_mainpage = ‘products/product_class_confirm.tpl’;
$this->doDisp($objFormParam);
$this->fillCheckboxesValue(‘stock_unlimited’, $_POST[‘total’]);
$objFormParam->setParam($_POST);
$objFormParam->convParam();
// エラーが発生した場合
} else {
$objFormParam->setParam($_POST);
$objFormParam->convParam();
}

でエラーとなってるから編集画面に戻ってきてるようだ。

エラーチェックは同一ファイル中の322行目くらい

public function lfCheckProductsClass(&$objFormParam)

のところ。送料区分を作って、必須チェックしてたのが規格編集のところで必須チェックに
引っかかってたみたいな感じです。
呼び出しているPHPファイル名から判断して回避させました。

if (SC_Utils_Ex::isBlank($arrValues[‘delivtype’][$i])) {
// 規格編集から来た場合はここは必須チェックさせない。
$hide_myname = basename($_SERVER[‘PHP_SELF’]);
if( $hide_myname<>”product_class.php” ){
$arrErr[‘delivtype’][$i] = ‘※ 送料区分は、いずれかを選択してください。<br />’;
}
}

shで”Too many authentication failures for なんとか”と怒られる。

/etc/ssh/sshd_config

を設定変更する。

PubkeyAuthentication yes
PasswordAuthentication yes

で明示的にno yesを設定すると行けるようになりました。

Permission denied (publickey).

もこれで解決した。

ここを参照。
http://mitsuakikawamorita.com/blog/?p=387

あるいは。。下記も試す。

password認証のサーバに接続したい場合
上述したクライアントのssh_configに以下の設定を追加してやればいい。

PreferredAuthentications password