朝霞市在住のWEB系エンジニアかあさんのPHPメインの雑記帳

ITかあさん

最新記事

PHPで月末 年末 週末はCarbonが楽!

PHPで月末 年末 週末はCarbonが楽!

月末

相変わらずLaravelですが、Laravelには4とか比較的古いバージョンから日付操作に便利なCarbonが最初から含まれているっぽい。

今月末

Carbon::now()->endOfMonth();

先月末

Carbon::parse(‘- 1 month’)->endOfMonth();

フォーマット

省略で、仮にY,mだけセットすると、 d,H,i,jは自動でセットされる

Carbon::create(Y, m, d, H, i, j);

日付をセットして、例えば2017年の2月って何日までだっけ?って言うのにも使えます。

Carbon::create(‘2017′, ’02’)->endOfMonth();

結果

public ‘date’ => string ‘2018-02-28 23:59:59′ (length=19)
public ‘timezone_type’ => int 3
public ‘timezone’ => string ‘Asia/Tokyo’ (length=10)

今月末があれば年末も取れるわけで

Carbon::create(‘2017′, ’06’, ’22’)->endOfYear();
public ‘date’ => string ‘2018-12-31 23:59:59′ (length=19)
public ‘timezone_type’ => int 3
public ‘timezone’ => string ‘Asia/Tokyo’ (length=10)

週末かどうかも取れる

(デフォルトでは金 土 日が週末のようです。)

Carbon::create(‘2017′, ’06’, ’25’)->isWeekend();

今日は何曜日チェッカー

$today = Carbon::now();
$today->inSunday();
$today->inMonday();

以下略

楽しすぎるぞ!

所要時間わずか5分!Microsoft AzureでWordPress on Dockerが使える!

Microsoft AzureでWordPress on Dockerが使える!

docker_wordpress

ローカルの開発環境はDockerでWordPressイメージですって?じゃあ本番環境ももちろんDockerですよね?

開発環境と本番環境で環境の差分はつきもの。だったら最初から環境が全く同じ、Docker で開発してるのなら検証サーバーも本番サーバーもDockerで環境統一した方が楽じゃない?ってなことでMicrosoft AzureでDockerを入れて、WordPressのイメージも突っ込んでみました。所要時間はなんと5分ほど。このブログ記事書いてる方がよっぽど時間かかっちゃったよ。

まずはMicrosoft Azureのクラシックサーバーに Dockerをインストールするところから

スクリーンショット 2017-05-07 23.50.48

Docker on Ubuntu Serverを今回は導入しました。

スクリーンショット 2017-05-07 23.51.06

デプロイモデルはクラシックのみ対応しているようです。

スクリーンショット 2017-05-07 23.55.19

価格レベルやリソースグループ 認証方式や初期ユーザを設定して作成します

スクリーンショット 2017-05-07 23.55.31

はい、Dockerのクラウド環境はひとまずこれだけ。あとはSSHで接続してコマンドラインでDockerにWordPressイメージを追加しましょう

SSHよりクラウドサーバにアクセス

SSHから作成したAzure のサーバーにアクセスします。

WordPressより先にMySQLコンテナを追加

DBの名称、ユーザ名 パスワードを設定します。

$ docker run –name wordpress-mysql -e MYSQL_ROOT_PASSWORD=xxxx -e MYSQL_USER=xxxx -e MYSQL_PASSWORD=xxxx -e MYSQL_DATABASE=xxxx -d mysql

次にWordPressのコンテナを入れます。xxxxはコンテナ名なので自由に設定。-p 8080:80でポートフォワードしています。

$ docker run –name xxxxx -p 8080:80 –link wordpress-mysql:mysql -d wordpress

これだけで終了!!!!2つしかコマンドを打っていませんね!素晴らしい。

ブラウザからアクセス

事前にAzureのコンパネから80ポートの解放は行っておいて ブラウザからアクセスできるようにしてあげます。

http://yourDNSName:8080 でブラウザからアクセスしてください

スクリーンショット 2017-05-12 12.05.55

WordPressユーザなら大好きなあの画面が登場!!

無事設置が完了しました!

クッソ古いCentOS yumコマンドでこける、でもbaseurl書き換えで解決

昔むかし あるところにCentOS 5.11というくそ古いサーバーがあったんじゃ

NKJ52_usuguraichikurin_TP_V
おじいさんは山へ芝刈りに、おばあさんはMacのターミナルでCentOS 5.11でyumコマンドを叩いたそうな。

おばあさん「ガッデーーーーーーーム!!」

エラー: Cannot find a valid baseurl for repo: base

そうです、baseurlが未定義だったのです。

vi /etc/yum.repos.d/CentOS-Base.repo

baseurlにcentosを配布してくれているriken.jpにbaseurlを設定することにしました。

baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/

おばあさん「ガッデーーーーーーーム!!」

==> default: http://ftp.riken.jp/Linux/centos/5/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found

おばあさんは理研の配布元にアクセスしました。すると。。

おばあさん「ガッデーーーーーーーム!!」

This directory (and version of CentOS) is depreciated.

CentOS-5 is now past EOL

You can get the last released version of centos 5.11 here:

http://vault.centos.org/5.11/

Please NOTE: this is not being maintained for security since moving to Vault.
It will have security issues, you should upgrade to a new version instead.

EOL(End Of Life) お前はすでに死んでいる。

でも対処方法はわかりました、baseurlにcentos5.11の配布元を探して設定すればいいのです。
おばあさんはarchive.kernel.orgというサイトを見つけました。
http://archive.kernel.org/centos-vault/
ここになら目的のCentOSのバージョンが配布していそうです。

vi /etc/yum.repos.d/CentOS-Base.repo

baseurlを目的のクソ古いバージョンに変えてあげます

baseurl=http://archive.kernel.org/centos-vault/5.11/os/x86_64/

おばあさんは無事CentOS5.11のupdateができましたとさ。 めでたしめでたし

str_replaced空白埋めが正しく挙動しない時の緊急対処

str_replaced空白埋めが正しく挙動しない時の緊急対処

0埋めなり、空白埋めなり指定文字列で 足りない桁数を補うためにちょいちょい使うsprintf。
ちょっと空白埋めを行った際、困ったことがおきました。

たったこれだけのことなのですが、HTMLに表記した時に半角スペースが無視されてしまう事案が発生。ぐぬぬ。最初正しく動作していないのかと思い、ヨーーークみてみると一応半角スペースはあるんだけど、ブラウザの表示上 どうやら無視されているのか、思ったよりも非常にスペースが小さく表示されている模様。

せつこ!半角スペースやない!&nbspを使うんや!

どうしたらいいもんかと悩んだ末、ああ、&nbspを使うべきと神の声が届きました。

半角スペースが正しく表示されないので半角スペースを文字列置換して対応。

本当は&nbspってレイアウト調整のために使うのはNGなんですが、ひとまずこれで対応。