php serializeの構造
serializeされている値の一部を変更したかった話
すでにDBにserializeされた状態で格納されたデータの一部を変更したかった。
一部を抜き出すと、
a:2:{s:1:"9";
を
a:2:{s:1:"10";
に変更したい。
配列の中に9って文字列があって、10に変更したかったんです。
何気なしに10に変えたら、syntax errorが、、、
参考サイト http://hijiriworld.com/web/serialize/
どうやら、s:1:"9"
は
1バイトの文字列「9」という意味らしい。
「10」って文字列に変更したかったら
s:2:"10"
ってやるのが正解らしい
ubuntu apt-getしようとしたらNot Foundが出た
curlを入れたい
# apt-get install cur
ってやると、404 Not Found のエラーが返ってきました。。。
参考サイト
FiddlerをMacにインストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null
パスワード入力
brew cask install fiddler
完了。
brewってこんなに便利なのね。。。
composer updateをしようとしたらcommand not foundになった話
vagrantにcomposerをいれてプロジェクトの作成をした。
composer update のコマンドを打ちたかったのだが、
-bash: composer: command not found
って返ってきた。
現状
[root@localhost cakephp]# ls -la total 1672 drwxrwxrwx. 1 vagrant apache 136 Aug 28 04:51 . drwxr-xr-x. 4 root root 4096 Aug 22 15:28 .. drwxrwxrwx. 1 vagrant apache 748 Aug 28 04:59 bookmarker -rw-rw-rw-. 1 vagrant apache 1705467 Aug 24 20:54 composer.phar
composerコマンドを使えるようにする
参考サイト http://9ensan.com/blog/programming/php/php-composer-dependency-management/
# mv composer.phar /usr/local/bin/composer
これでパスが通るらしい。
このあと、composer.jsonがある場所に移動して composer updateできた。
vagrant destroyしようとしたら「tty」エラーが出た話
windows10
babunを使用
Vagrant is attempting to interface with the UI in a way that requires a TTY. Most actions in Vagrant that require a TTY have configuration switches to disable this requirement. Please do that or run Vagrant with TTY.
TTYとは・・・
ttyとは、標準入出力となっている端末デバイス(制御端末、controlling terminal)の名前を表示するUnix系のコマンドである。 元来ttyとはteletypewriter(テレタイプライター)のことを指す。
ふむ。
現在では、別のコンピュータに接続して文字ベースで対話的にデータの送受信ができるソフトウェアのことをTTYと呼ぶことが多い。UNIX系OSでは標準入出力デバイスを表示するコマンドをttyという。
どうやら、使っていたbabunがいけなかったっぽい。 コマンドプロンプトでdestroyしたらできました。
Vagrant環境の時刻変更したい
ローカル環境のみ、一時的に時間を変更したい。。
ホストOSとゲストOSの時刻同期を切る
$ sudo su - # service vboxadd-service stop
時刻変更
# date -s "2017/08/23 00:00:00"
これでOK!
時刻戻す場合
# service vboxadd-service start