ゆるーい備忘録

まいにちべんきょう

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 のエラーが返ってきました。。。

参考サイト

http://server.etutsplus.com/apt-get-404-not-found/

バージョンの古いUbuntuを使うと出るらしい。 リポジトリのURLを変更したらうまくインストールできました

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