PHP
phpenvを使ってPHP 8.3系をインストールしたメモ。 8.2系のインストールメモは下記リンク先。 nmtysh.hatenablog.com 環境 macOS Sonoma 14.2.1 zsh(Z shell) Homebrew
ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用 ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用作者:田中 ひさてる技術評論社Amazon ちょっと色々忙しかった(言い訳)ので、読むのに一ヶ月ぐらいかかった。 サ…
phpenvを使ってPHP 8.2系をインストールしました。 依存パッケージのインストールが必要だったので備忘録としてまとめます。
以前、phpenvでPHPをインストールしましたが、PHPの新しいバージョンが公開されているので、コマンドの見直しを兼ねつつメモとして残します。
以前、phpenvでPHPをインストールしましたが、PHPの新しいバージョンが公開されているので、コマンドの見直しを兼ねつつメモとして残します。
複数バージョンのPHPをインストールしてみたかったので、phpenvを使ってPHPをインストールしました。 依存パッケージのインストールが必要だったので備忘録としてまとめます。
複数バージョンのPHPをインストールしてみたかったので、phpenvを使ってPHPをインストールしました。 依存パッケージのインストールが必要だったので備忘録としてまとめます。
複数バージョンのPHPをインストールしてみたかったので、phpenvを使ってPHPをインストールしました。 依存パッケージのインストールが必要だったので備忘録としてまとめます。
macOS環境で複数のPHPバージョンを動かしたくなって、phpenvを使ってみることにしました。 (環境構築周りは別途、書きました) nmtysh.hatenablog.com nmtysh.hatenablog.com nmtysh.hatenablog.com 以前からnodenvを使っていて、プラグインなどをまとめてア…
まとめ ちゃんとドキュメントを読みましょう。 細かいところを読み飛ばしていてハマりました。
※この記事はQiitaにも投稿しています。 Atomからphpmdを呼び出して自動チェックさせたりするついでにComposerも導入して仮想マシンを経由せずにMac上で直接使える様にしてみました。 0. 環境 Mac OS X 10.11 Homebrew 1. Install $ brew install Composer ==…
データ変更のバッチ処理を書いて、検証して「よしOK」となりローカルの環境に本適用しました。 その後、念のため同一処理を再実行しても再適用されないことを検証したら何故か適用されちゃいました。 検証中は意図的にトランザクション処理をrollback()する…
※この記事はQiitaにも掲載しています。 nmtysh.hatenablog.com PHP7を試すためのdocker-compose.ymlを作って、CakePHPをいざ試そうとすると色々モジュールが足りなかったり、VirtualBoxでBoot2Dockerを動かしているために発生する問題があったので、その対処…
設定ファイルの作成に苦戦しましたが、やっと環境をつくれました! github.com docker-compose up -dで起動してdocker-machineのipに接続すると、NginxからPHP-FPMへちゃんと処理が渡せてphpinfo()が表示できました! 構成図はこんな感じです。 設定ファイル一…
昨日、Nginxの設定に苦戦していましたが、どうやら上手くできたようです。 nmtysh.hatenablog.com nginx+php-fpmをyumでインストールして、WordPress/CakePHPを動かす設定 - Shin x blog www.1x1.jp この記事を参考にして設定すると上手く行きました。 やは…
サブディレクトリでWordPressを動かすことになって、alias設定をしようとしているのですが、上手く行かず…… "File not Found"が帰ってくるんですよね…… nginxのエラーログにも記録でないし…… どうもfastcgiでPHPに処理を渡す際に上手くパス指定ができていな…
PHP-FPMで接続を許可するFastCGIクライアントの一覧を設定するパラメータに listen.allowed_clients があります。 接続を許可されている FastCGI クライアントの ipv4 アドレス一覧。オリジナル版 PHP FastCGI (5.2.2+) における環境変数 FCGI_WEB_SERVER_AD…
CakePHPでViewのElementでキャッシュが利用できます。 利用できますが、キャッシュ生成処理の処理上、入れ子になったElementで親と子の両方でCacheを使うとCacheがおかしくなります。 親のElement(ここではAとします)で、Elementの処理時にCacheのconfigを生…
意図したパーミッションにならない 対象Ver: 5.5.x ファイルシステムにファイルを吐き出すCakePHPのコードを書いたのですが、作成したファイルが意図したパーミッションになりませでした。 ファイルを作成した流れ 一時ファイル作成(パーミッションは0644を…
関数のテストコードを書くときに、幾つものパターンをどうまとめるのが一番良いのか悩んでいます。 単純なパターンであれば、それぞれの入力値、期待する出力値を配列にまとめることでfor文(foreach文)で回してテストコードをコンパクトにすることができます…
CakePHPのFormHelperを使ってselectのoptgroup/optionを出力したのですが、一部のoptionが出力されませんでした。 [ 1 => 'A', 2 => 'AA', 3 => 'AAA', 4 => 'AAAA' // <- これが出力されない ], 'BBBB' => [ 5 => 'B', 6 => 'BB', 7 => 'BBB', 8 => 'BBBB'…
Nginx + PHP-FPM で動かしている環境で 5xx エラーが発生しているようでアクセスログやエラーログを確認してみると 502 Bad Gateway が発生していました。 同じリクエストを投げても 502 になる場合と正常に表示される場合があったので、PHP側の処理の問題で…
Webサーバーを複数台構成にして運用している環境があるのだが、アクセスが集中した際にある条件下で特定のサーバーでのみメモリリークが発生してしまう。 メモリリークの発生したサーバーを切り離しても、別のサーバーでは起きず、切り離したサーバーを戻す…
CakePHPのUnitテストで個別に実行する場合とAllTestsで結果が異なる問題が起きています。 他のテストの影響を受けているみたいなのですが、全部のUnitテストを手動で実行するのは骨が折れます。 なので、シェルスクリプトとまでは行きませんが、ファイルごと…
結論: FixtureのuseDbConfigでDataSourceを指定するには、対になるDataSourceが定義されてないと駄目でした。 例) $test_hoge = array(/* ... */); なら $hoge = array(/* ... */); が定義されてないと駄目。 動的にDBの接続先を切り替えるプログラムを書い…
Cookie が使えないブラウザではURLにセッションIDを付与してセッションを引き回します。 PHP だと session.use_trans_sid を1にすることで、 PHP が透過的にセッションIDの付与を行ってくれます。 ですが、付与のタイミングが問題で以前書いたようにブラウザ…
携帯電話(いわゆるFP:フィーチャーフォン)向けの、Webサイトを構築中な訳だが、Cookieが使えない下位端末への対応に悪戦苦闘中。 Cookieが使えない場合はセッション情報を引き継ぐ手段としてURLにセッションIDを付与するわけだが、このセッションIDの付与処…
Master/Slave なレプリケーションをしている場合、更新系は MasterDB に変更します。 CakePHP だと $this->useDbConfig を書き換える必要があります。 今までだと Model.php の save($data, $validate, $fieldList) をオーバーライドする必要がありました。 …
pg_query_params() で boolean な変数を渡すとエラーになるのでその対策。 pg_query_params($query, array(($flag ? 'TRUE' : 'FALSE'))); boolean の代わりに 'TRUE'("TRUE") / 'FALSE'("FALSE") を渡してあげる。 これバグな気がするんだが… おまけ: Postg…
シングルクオート(')で文字列を指定すると円記号(\)などがエスケープされてしまうようだ。 ダブルクオート(")だとエスケープされない。 Linux での扱いと同じ感じ。 echo 'aaa\nbbb' <- 改行されない echo "aaa\nbbb" <- 改行される