PHP
開発環境がいろいろと代わり以前確認用に作成したxdebugプロジェクトが動作しなくなっていたため更新しました。 原因としては mac book の更新( m1 チップの影響 ) xdebugのバージョンアップ ( 2 -> 3系 ) 使用環境 phpstorm docker php-fpm , nginx mac boo…
Docker for macが遅くなってきたため、Vagrant on Dockerに切り替えました。 その影響でPHPの開発時にdebugができなくなり困っていたので、環境を設定してみました。 設定の概要 以前docker for macで設定した内容でほぼ動作をしたためまずdocker for macでd…
phpstorm + docker + xdebugでのremote debugの環境を作っていなかったので、作ってみました。 mac book docker-compose phpstorm php 情報が多くなる中で構築に時間がかかったため、記事にしてみます。 github.com xdebug xdebug.idekey = "PHPSTORM" xdebu…
PHPUnitのホームペーシをみて、動作させてみるところまでやってみます。 開発環境はMacを使用して、composerを用いています。 まずは「Hello World!」的なことからやってみる。という最初の壁を超えてみます。 Getting Started 最新バージョンはPHPUnit7とい…
要件としては以下を実施しようと、計画し実行したときの記録です。 cakephp1.2 -> cakephp2.10 php5.5 -> php7.2.9 apache -> nginx 移行へのきっかけ 自身でOKRを取り組もうと決めた時に、プラットフォーム更新が真っ先に思いついた取り組む決意をしました…
DBののスキーマ管理をいままでやっていなかったため、複数人での開発になりDBへの変更がよくわからない状態になってしまったので、本格的にマイグレーションをいれてみました。 Phinx Phinx マイグレーション - 3.6 Introduction — Phinx 0.9.2 documentatio…
社会人1年目のときに配属された部署でPHPを初めて触りましたね。 その言語をいまだに触っているのは驚きです。 PHPはまだまだ生き残れる言語だと思っています。いい言語です。 PHP4 最初はPHP4系でした。もうよくわからず書いてました。 HTMLは書いたことも…
npmの管理について考えてみたが、phpも使用しているためcomposerでのパッケージ管理も整理したいです。 調べてみましたが、基本的な方針は同じみたいでした。 composerでインストールできるファイル群は、バージョン管理には含めない。 管理ファイルのみをバ…
PHP7に変更して、PHP memcacheがないことでいろいろと調べながらmemcachedを導入してみました。 ただmemcachedを使った場合だけものすごく遅くなったため、対応した内容をメモで残しておくための記事です。 結論から libmemcachedが1.0.16だったのが悪かった…
PHPをいれる際にどういれいているか? yumやapt-getで導入 phpbrew xampp ソースからコンパイル いろいろなやり方がある現在ですが、いろいろな手段をしっていると幅がひろがっていいと思います。 PHPのコンパイルを初めて試したとき、yumの利用しやすさを実…
プログラムというのは上から下へ流れていく。 PHPならなおさらスレッドの考えはしなくていいため、プログラムで一連の流れを追うだけで原因を探れるはずだがここ1年解決しなかった。 最初の対処(ログ埋め) とにかくログを埋め込みました。本来ない重複デー…
PHPでmemory使用量を調べる機会が訪れるとは、個人的におどいています。 PHPでのメモリ設定はphp.iniのmemory_limitで指定します。 これ以上のメモリ使用になると、Fatalエラーが発生します。 エラーの表示をしていない場合は白い画面で止まってしまうかなと…
いろいろな言語を書いているとこの関数ないのかよー。と思うことがあります。 PHPを主としているので、PHPの関数を他の言語で使いたいと思うことは結構あったりします。 そういう部分をJavascriptにおいて実現してくれてそうなやつを知りました。 「php.js」…
PHPのメジャーバージョンアップがPHP7らしいですね。 PHP 5の次はPHP 7 !? - PHPコミュニティで議論中 PHP 5の次はPHP 7 !? - PHPコミュニティで議論中 | マイナビニュース 結構前からの話だったんですね。 PHP7を知った記事としてはここですね。 PHP7の現状…
phpbrewを利用してPHPのバージョン管理ができる。という記事を読んでいる。 最近PHPのバージョンについてはかなり気にしていた。 LinuxでyumなどでPHPを導入すると5.3が入る。 しかしPHP5.3についてはそろそろ完璧にサポートが切れると思ってたので、5.4以上…
浮動小数点数のページを見た後、整数の項目で気になるのがありました。 echo (int) ( (0.1+0.7) * 10 )."\n"; // 7が出力されます! これって本当!? って、ことで試してみました。 本当に「7」だ。 説明は浮動小数点数の精度で書いてあります。 さらに、十…
PHPの浮動小数点数で気になったことが。 floatの比較について「等しいかどうかを比較するのには問題があります」って。 あぁ、そうなのか。どういう場合だろ。 まず浮動小数点数 (あるいは "float", "double", "実数") の指定から。 規約として LNUM [0-…
paizaをやっていると「大規模データでエラーとなりました。」をよくみる。 PHPでやっているが、大規模データでエラーってことは数値の判定とか? 詳細はわからないが、PHPでの数値の扱いってどうなってるのか気になりました。 PHPは型宣言をしませ…
そういえばPHPで標準入力をやったことがなかったが、きっかけがあったので。 WEBやってると、標準入力いわれるとGET?POST?か迷った。 C言語で標準入力といわれれば「scanf」を使うとイメージできるけど、 案外やってないとしらないことがいっぱいだ。 trim…
PHPのフレームワーク「FuelPHP」を触る機会があったので、所感を書きます。 FuelPHPは2010年10月にプロジェクトを開始したらしい。 リリースは2011年8月23日。 環境はPHP5.3.3+ MITライセンスなので、商用でも使用可能 新しいほうのフレームワークだと思い…
前回の月計算の場合で一番ありそうなのは、 月だけを求めるときとかか。 5月30日の1ヶ月後で「6」 5月31日の1ヶ月後で「7」 閏年でない場合 1月28日の1ヵ月後で「2」 1月29日の1ヵ月後で「3」(3月1日) 1月30日の1ヵ月後で「3」(3月2日) 1月31日の1…
PHPでの時間処理でのはまりどころ?? date('Y-m-d H:i:s', strtotime('2014-05-31 +1 month')); 表示結果:2014-07-01 00:00:00 5月から1ヶ月を追加した日付だから6月がでてほしいような・・・ この結果自体はバグでないです。 6月31日??を求めよう…
PHPでの日付比較で詰まった部分を書いていますが、他のところでも影響していて悩んでいた経緯があります。 DBでやろうと試す 最初はDBの時刻型から ○時間後を求めるをやっていた。ある時間から +27時間後を登録しようとしてエラーが発生した。理由としてはpo…
日付の出力 現在の日付表示用$now = date("Y-m-d H:i:s"); 現在のタイムスタンプ$time = time(); 日付の比較 strtotime 比較の式はtimestampならすぐに理解できた。 ただの数字なので、とても比較としてはわかりやすい。 if ( $time >= strtotime('2014-06-0…
PHPで日付を出力する場合、いくつかやり方があると思います。 日付型から表示形式を指定して表示する ・date — ローカルの日付/時刻を書式化する date関数へtimestampを渡す値を作って、指定した表示形式で表示する ・strtotime — 英文形式の日付を Unix タ…
最近PHPのサーバーにPHPのバージョンなにを入れるか考えることがあったり。 CentOSつかってることもあってそこが基準で考える。 ・標準のyumだとPHP5.3 ・ZendServerCEをいれてもPHP5.3 ・PHP5.3のサポートがきれる??(これはいつなんだ) http://php.net/…