ハワイでの海外旅行保険(キャッシュレス対応の提携医療機関)

5月に、カカアコで日本人旅行者が公衆トイレで襲われたという気の毒な時間がありました。 その際の治療費が応急処置だけで700万円超… 私は毎回、海外旅行保険に入っているので安心だと思っていたのですが、 キャッシュレスサービスに非対応の病院だと困りま…

PayPal:User authentication failed

ちょっとハマりました。Bashでセキュアトークンは取得できるけど、同じ情報をPHPから投げると表題のエラーになる。 原因はパスワードに記号が入っているためでした(私の場合は$)

PayPal:Secure Tokenの入手

用語的に紛らわしいのが1点あって、セキュアトークンはPayPalに発行してもらうもの。 セキュアトークンIDは自分がランダムで生成してPayPal側に渡すものです。 参考URL: PayPal Payments Advanced: Getting Started with Hosted Pages - PayPal Developer #!…

Apache 2.4: アクセス拒否が効かない

Require all denied と書いても効かない場合、 <RequireAll> Require all denied </RequireAll> と書いてみてください。を省略した場合、とみなされて、 他の部分(例えば、BASIC認証のrequire valid-user)で満たされてしまうようです。

setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

表題のエラーが出て不思議に思っていました。 何もしてないのに、なぜ、突然、このメッセージが出てくるのだろう・・・ 私の場合はMacの言語設定を日本語から英語に変更したことが原因でした。 対策は言語設定で日本語に戻すだけです。 日本語の状態でローカ…

WordPress:イメージマップのレスポンシブ対応

rwdImageMapsを使えばいい!とわかっていたのですが、実際に組み込んでみるとエラー… 動かない例1 jQuery(document).ready(function(e){ jQuery('img[usemap]').rwdImageMaps(); }); これはUncaught TypeError: jQuery(...).rwdImageMaps is not a function…

スキャナとの通信中にエラーが起きました。(-9923)

mac

先日、キヤノンのTS3130という複合機を購入しました。印刷もスキャナも高速で助かります。しかも9000円弱… こいつはヘッドとインクが一体型になっているので、インクを交換すればヘッドが新品になります。昔使っていたHPと一緒です。 さて、Macにつなげてみ…

Perl:DateTime

use DateTime; my $time = DateTime->now(); $time->set_time_zone('Asia/Tokyo'); my $today = $time->strftime('%Y%m%d'); my $now = $time->strftime('%H:%M');

Perl:WWW::Mechanize::Timedをインストールする

めっちゃハマりました。 以下のスクリプトを実行してください: #!/usr/bin/perl use strict; use warnings; use CPAN; CPAN::Shell->install( "Tree::DAG_Node", "Test::Warn", "WWW::RobotRules", "HTTP::Cookies", "Net::FTP", "Net::HTTP", "Digest::bas…

CentOS7:時刻を変更する

テストのために時刻を変更することってあると思います。 以下、やり方です。まず、ntpを無効にします: timedatectl set-ntp 0 そして時刻を変更します timedatectl set-time '2018-05-21 23:00:01' 終わったらntpを復活させ: timedatectl set-ntp 1 chrony…

CakePHP3:ログイン後、管理者の場合は別ページにリダイレクトする

これ、Authの設定でやる方法をご存知の方がいましたら教えてください… 私はUsersController.phpのloginで次のようにしています: if ($this->request->is('post')) { $user = $this->Auth->identify(); if ($user) { if($user['user_status_id'] == USER_STA…

CakePHP3:ブラウザの言語設定におうじてロケールを切り替える

まず、AppController.phpに次を追加します: use Cake\I18n\Middleware\LocaleSelectorMiddleware; public function middleware($middleware) { $middleware->add(new LocaleSelectorMiddleware(['en_US', 'ja_JP'])); } 次にbootstrap.phpにこちらを: use …

CakePHP3:debugKitが表示されない…

開発環境をEC2に移したところ、debugKitが表示されないという怪現象が。 debug.logをみたところ: 2018-05-14 13:46:16 Warning: DebugKit is disabling itself as your host `ホスト名` is not in the known safe list of top-level-domains (localhost,dev…

CakePHP3:tinyintとsmallintのマイグレーションファイル

bakeコマンドでマイグレーションファイルを作成すると、次のような内容が生成されます: $this->table('statuses') ->addColumn('id', 'tinyinteger', [ 'default' => null, 'limit' => 3, 'null' => false, ]) ->addPrimaryKey(['id']) ->addColumn('name',…

CakePHP3:QRコードを表示する

今回は、こちらを利用しました: github.com PHP7.03以上とGDが必要です。 インストール composer require chillerlan/php-qrcode 僕の場合はこれで2.0.6が入りました GDのインストール iusを使っているので、以下でインストール: sudo yum install php72u-…

PHP:7.0から7.2に上げる

php

これまでPHP7.0を使っていたのですが、QRコードのライブラリが7.03以上のため、7.2にあげることにしました。 iusを使っていたので、次のようにしました: PHP7.0の削除 yum remove php70* PHP7.2のインストール yum -y install php72u php72u-devel php72u-m…

CakePHP3:レコードの存在をチェックする

これまでは、find()を使っていたのですが、もっと簡単な方法が! if ( $this->Users->exists(['email' => $email]) ){ } といった具合にチェックできます。

CakePHP3:画面が真っ白

VirtualBoxで仮想マシンを幾つか立ち上げてプログラムを書いていたところ、画面が真っ白であったり、 ERR_CONTENT_LENGTH_MISMATCHであったりのエラーが。 どうやらメモリ不足のようで、パソコンを再起動+仮想マシンの数を絞ったら治りました。

PHP:呼び出したいメソッドが変数に入っている場合

php

仮に、 $titleJa = $event->japanese[0]->title; $titleEn = $event->english[0]->title; $descJa = $event->japanese[0]->description; といったことを関数にまとめたいとします: $titleJa = getData($event, 'japanese', 'title); $titleEn = getData($ev…

Bootstrap:フォームにおいて、入力項目の代わりにテキストを表示する

ここを参照: bootstrap3.cyberlab.info

WordPress:開発用のサーバを作る

WordPressのサイトを立ち上げて、後日、そのサイトのコピーが欲しいとします。 僕はこうしました: 本番側の作業 データベースのバックアップ mysqldump -u root -p wordpress_production > /tmp/production.dmp ソースのコピー (gitに全部入れているので割…

CakePHP3:フルパスのURLを生成する

結論からいうと、URLヘルパーもしくはRouterの第2引数をtrueに設定します: URLヘルパーの場合: $url = $this->Url->build(["controller" => "Posts", "action" => "search", "?" => ["foo" => "bar"] ],true); ルータの場合: use Cake\Routing\Router; //…

Remodal:アンカーを通じて開くことができない

キレイなモーダルを簡単に実装できて重宝しているRemodalですが、アンカーで起動できない現象に遭遇しました: <div class="remodal" data-remodal-id="my-remodal" data-remodal-options="hashTracking: false"> <button data-remodal-action="close" class="remodal-close"></button> <h1>Remodal</h1> <p> Responsive, lightweight, fast, synchronized with CSS animatio…</p></div>

CakePHP3:Cannot insert row, some of the primary key values are missing

保存をしても、次のエラーが出ることがあります: [RuntimeException] Cannot insert row, some of the primary key values are missing. Got (, ), expecting (task_id, user_id) この場合は該当するEntityを確認し、カラムがaccessibleに含まれているか確…

CakePHP3:declare(strict_types=1)の使い所

まだ使い始めて日が浅いですが、ComponentとかHelperのようにいろいろな場所から呼び出しが多いコードは、 必ずdeclare(strict_types=1);を設定し、かつ、関数の引数と戻り値の型を設定しておくと効率がいい気がします。 あとから設定するのは面倒なので、最…

CakePHP3:セッションデータを解読する

データベースにセッションを格納している場合、session.dataカラムにタイムアウト時刻らしく文字が入ります: Config|a:1:{s:4:"time";i:1524284504;} この値を読みたい場合にどうするか? session_start(); session_decode($data); print_r($_SESSION); と…

CakePHP3:テンプレートからjsファイルを設定する

もし、デフォルトのレイアウト(default.ctp)を使っている場合はレイアウトにこの記述があります: fetch('script') ?> 便利なことに、ここにスクリプトを動的に追加できます: Html->script('filename', ['block' => 'script']); ?> これでfilename.jsが読…

VirtualBox:時刻がずれる

CentOS7を入れてしばらく使っていると…時刻が1日もずれている… 急遽、VirtualBox Extension Packを入れました。入れるだけで治りました: Downloads – Oracle VM VirtualBox

CakePHP3:パスワードが現在のパスワードと同一かチェックする

これはしびれました: stackoverflow.com $validator ->add('current_password','custom',[ 'rule'=> function($value, $context){ $user = $this->get($context['data']['id']); if ($user) { if ((new DefaultPasswordHasher)->check($value, $user->passw…

CakePHP3:default.poが読み込まれない・更新されない場合の確認ポイント

Localeディレクトリのパーミッション ロケールの設定(config/app.phpの'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'), キャッシュの削除