ことさら−古都プログラマーの更級日記

京都でお寺を回りながら御朱印集めをしていたり、LoLをしたり試合を見に行ったりしているエンジニアのブログです。技術的なはなしとか日常的なはなし、カメラやLoLや競馬の話も書きます。右メニューに検索やらカテゴリーやらがあるので、見たい記事だけ見てね!

PHP

PDOのconstructでSQLSTATE[HY000] [2002] No such file or directoryが出る場合

もくじ もくじ PDOの__construct()でNo such file or directoryが出るけど原因がよくわからん場合 修正方法 UNIXソケットファイルの場所を確認 php.iniの設定を確認 修正方法 参考 PDOの__construct()でNo such file or directoryが出るけど原因がよくわから…

PHP5.6からPHP7系にするときに修正した点まとめ

背景 あるプロダクトをPHP5.6からPHP7にアップデートする対応をしたので、その時に修正した点まとめです。あくまでもその時に修正した点をまとめたもので、PHP7での変更点を全てまとめたわけではありません。 また、mysql系関数が廃止される件については、長…

PHP で GuzzleHttp と DOMDocument/DOMXPath を使ってページのスクレイピングをする

PHP

はじめに この記事は PHP Advent Calendar 2017 - Qiita の22日目の記事です。 昨日の記事は Khigashiguchi さんの PHPでTDD開発するまでに通った道のり - Qiita でした。 PHP で Web ページのスクレイピングをする ページのスクレイピングといえば、RubyでN…

PHPのSplPriorityQueueで複雑な実装をしようとするとたまにおかしい時がある?

PHP

SplPriorityQueue を継承したらちょっと複雑なPriorityQueueが実装したりできるのですが、なんかたまにうまく動かないことがあります。 正常に動く例: 長方形を面積が大きい順に並べる SplPriorityQueue を継承して、 insertRectangle というメソッドで面積…

PHPのPriorityQueueの実装についてとSplPriorityQueueの使い方

PHP

JavaやC++だとPriorityQueueが標準ライブラリで用意されているイメージがありますが、PHPはあまりそういったイメージがありません。しかし、PHPでもちゃんとPriorityQueueが標準で用意されています。 SplPriorityQueue の使い方 PHPのPriorityQueueの実装がS…

MacでHomebrewを使っていて、コマンドラインから叩くphpのバージョンがなんかおかしくなった場合の対処

概要 ある日 composer install するとこんな警告が出た phpunit/phpunit 5.7.21 requires php ^5.6 || ^7.0 -> your PHP version (5.5.20) does not satisfy that requirement. phpunit 5.7.21 を利用するには php5.6 以上または php7.0 以上が必要だが、あ…

libprotoc 3.0.0 から libprotoc 3.3.2 にアップデートしたらコンパイル時の namespace 指定が効かなくなって GPBMetadata が生成されるようになった

状況 PHPで書かれたプロジェクトで protocol buffer を利用していた。最初は libprotoc 3.0.0 を使用していたが、 これを 3.3.2 にバージョンアップした瞬間、 コンパイルオプションの namespace が効かなくなり、3.0.0 とは異なる成果物が生成されるように…