(2020年4月)Mac(HighSierra)のPHPをv7.4.5にアップデートしたら、phpMyAdminやWordPressにエラーが出たのでそちらもアップデート。WordPressのアップデートは簡単だが、phpMyAdminは手動で面倒。PHPのアップデートにより、post_max_sizeやupload_max_filesizeが初期値に戻ってしまうので、再設定する必要がある。 過去に書いた以下の記事に対して、多少追加しておいた。 関連:Macでサーバー(Apache,PHP,MySQL,phpMyAdmin,WordPress)を作る 関連:[Mac]PHPのバージョンが異なる問題と解決方法 [HighSierra]phpMyAdminに36MB(zip圧縮)のSQLファイルをインポートすると途中で止まる問題は解決セヅ。 (phpMyAdminのconfig.de

交差型は何かって一言で言うと型のANDです。PHP8.0で型のORことUNION型が導入されましたが、これに続いてPHP8.1で交差型が導入されることになりました。 これでPHPでも型パズルマウント取れるようになりますね。 ということで以下はPure intersection typesの紹介です。PHP RFC: Pure intersection types Introduction 交差型とは、型がひとつの制約ではなく、複数の制約を同時に満たすことを必要とする型です。 交差型は、現在のところ言語ネイティブには対応していません。 かわりにphpdocアノテーションを使用したり、型付きプロパティを濫用したりしています。 class Test { private ?Traversable $traversable = null; private ?Countable $countabl

IMPORTANT:It's critical to select the correct type of processor yourmac is using so the instructions below will be accurate. This is because Homebrew uses different paths forApple Silicon and Intel based hardware. Mymac is using an processor. Part 1:macOS 15.0 Sequoia Web Development Environment Developing web applications onmacOS is a real joy. There are plenty of options for setting up you
仙台初開催のPHP カンファレンス仙台 2019 にて「明日から使えるアーキテクチャ 独立したコアレイヤパターン」を発表しました。 発表資料 サンプルコード: https://github.com/shin1x1/phpconsen2019 Toggeter: https://togetter.com/li/1313010 独立したコアレイヤパターンについて発表しました。当初は、昨年末に東京で行われたPHP カンファレンス 2018 で発表したものと同じ内容にしようと考えていたのですが、下記のような考えももあり、資料を大幅に変更しています。 色々なフィードバックを受けて、話して、現場で適用してと繰り返す内に、このパターンにおいて本質でないものが濾過されていって、コアの部分(レイヤの名前じゃなく)が残ってきた。そのあたりを今日話したい。— Masashi Shinbara (@shin1

宅ふぁいる便から平文パスワードが漏洩した件を受けて、あらためてパスワードの安全な保存方法が関心を集めています。現在のパスワード保存のベストプラクティスは、パスワード保存に特化したハッシュ関数(ソルトやストレッチングも用いる)であるbcryptやArgon2などを用いることです。PHPの場合は、PHP5.5以降で使用できるpassword_hash関数が非常に便利ですし、他の言語やアプリケーションフレームワークでも、それぞれ用意されているパスワード保護の機能を使うことはパスワード保護の第一選択肢となります。 なかでもbcryptは、PHPのpassword_hash関数のデフォルトアルゴリズムである他、他の言語でも安全なハッシュ保存機能として広く利用されていますが、パスワードが最大72文字で切り詰められるという実装上の特性があり、その点が気になる人もいるようです(この制限はDoS脆弱性回避が

こんにちは。BASEでサーバーサイドエンジニアをやっている、東口(@higasgt)です。 先日、「PHPカンファレンス2018」が開催されました。事前申し込みが2,000人超えというたいへん盛り上がったカンファレンスでした! 私は、当日セッション登壇したり、スポンサーとしてブース出展したり、運営スタッフをしたりして、大変楽しめたカンファレンスでした。 今日は、当日発表した内容やブースの様子について話したいと思います。PHPカンファレンス2018 改めて、PHP Conference 2018 とは、国内のPHPエンジニアが一斉に集まるテックカンファレンスです。 今年のテーマは「GROWTH」 今回、個人として公募で、25分セッション・LTの2枠で発表させていただき、BASEとしてもゴールドスポンサーとして協賛させていただきました。 発表内容 今回、25分セッション・LTの2つを採択いた

TL;DRPHPで動くファミコンエミュレータを作ったphp-terminal-nes-emulator画面描画は点字を使って文字出力コントローラは標準入力からfread() 経緯 2016年の2月にPHPで動くゲームボーイのエミュレータ、php-terminal-gameboy-emulator に衝撃を受けて、その実装の解説を勉強会やカンファレンスでトークしたりSoftware Design誌に書いたりしました。(*1) カンファレンスでのトークでは時間の都合もあって全体のごく一部しか話が出来ないのですが、Software Design誌では誌面をたっぷり頂いてCPU、メモリアクセス、画面表示とphp-terminal-gameboy-emulator のほぼ全域を解説出来たので満足し、その熱は落ち着いていました。 そんな中、9月に開催されたbuilderscon tokyo 201

この投稿はPHP Advent Calendar 2016 の16日目の記事です。 エグゼクティブサマリPHPのバージョン間の挙動の違いを調査するツールとして、@hnwによるphpallや、それを改造したphpcgiallがあったが、現実のPHPの利用環境とは違いがあり、検証の妨げになる場合があった。このため、PHPのバージョン毎にApacheを異なるポートで動かすことにより、全てのバージョン(229種)のPHPをApacheモジュールとして動作させることに成功し、modphpallと命名した。modphpallはPHPの検証に有効であることを、キャリッジリターンのみで起こるPHPヘッダインジェクションを用いて確認した。 はじめに 昨日の日記では、PHPの全バージョンをCGIモードで試すphpcgiall について紹介しました。HTTPヘッダインジェクションやセッションの挙動について

こんにちは。 突然ですが、FuelPHPのビューを書く場合、デフォルトでは生PHP + Viewクラスの構成だと思います。 Viewクラス自体がエスケープ機構を備えているのでXSSは塞げるんですが、生のPHPで書くとisset地獄だったりifが増えたりと不便なところが多く、テンプレートエンジン使いたいと思うことが多々あります。 そんなFuelPHPにはparserというパッケージがあるので、設定を変更すればテンプレートエンジンが簡単に利用できます。 fuelphpでhaml導入したった – ド忘れ防止雑記帳 が、しかし 対応しているテンプレートエンジンの一覧を見てみると、どれも古い。とにかく古い。 良く言えば枯れてるんですが、調べてみると メンテナンスされてないだろこれ… という感じのものが結構ありました。 ということで自分の知見をアップデートするため昨今のテンプレートエンジンについて調べ
まいど。セカイエでエンジニアやっている @M_Ishikawa こと石川と申します。好きな言葉はちくわ大明神です。 この記事は セカイエ Advent Calendar 2015 8日目の記事です。 Advent Calendarに参加するにあたってネタが思い当たらなかったのですが、最近ちょっと変わった経験をしたのを思い出しました。 それというのも、この半年間で、LaravelPhalcon FuelPHP CakePHP Ethna と沢山のPHPフレームワークを同時並行して開発していたのです。 Ethna長いことやってたのにこの短期間でlaravelとcakephpとfalconとfuelphpと並行して扱ってて結構混乱。テンプレートエンジンがsmarty,blade, twig, volt, mustacheと全部異なるのも混乱。— Masayuki Ishikawa (@M_

本当にScala化できるんですか? 増井:今日は、チャットワークをPHPからScalaに切り替えるお話を伺うためにやって来ました。 山本:はい。 増井:僕がこの話を知ったのは、ちょうど2年ぐらい前に読んだブログのエントリだったんです。いきなり失礼なんですが、僕はこの話を知って、ぶっちゃけアホじゃないかと思ったんですよ。 山本:あはは(笑) 増井:基本的に開発言語やフレームワーク、方法論を同時に変えるって結構大きな変更ですよね? 山本:そう思います。 増井:それなのに、この決断を発表された当時、御社にはScalaエンジニアがいなかったそうじゃないですか。「本当に大丈夫なのかな?」と思って、気になってたんです。昨年春には「Scala採用を決めて一年たった、CTOの雑感」というエントリをポストされていましたが、さらに1年経った今はどんな状況なんですか? 山本:ひと言で申し上げると「絶賛移行中」と

PHP カンファレンス福岡 2016 で、「制約でコードに秩序を」という発表を行ってきました。 発表資料 サンプルコードは、下記です。github.com セッションでは、資料は最低限のものにして、PhpStorm によるライブコーディングをしながら解説するというスタイルで進めました。 抽象的な話より、具体的にコードを目にする方が伝わりやすいであろうという事と、私自身もコードを書きながら話す方がやりやすいので、このスタイルにしました。 公開している資料は、コードと解説、さらに省いた内容などを盛り込んだものです。 初心者〜中級者向けセッションということで、PHPコードはとりあえず書けるようになって、これからより本格的な開発に入る方や、こうした制約を活用していない方などに参考にして貰えれば嬉しいです。 うちの新人はちゃんとみているだろうか。。。みておいてほしい。 "制約と上手く付き合う" #
まずは以下のサンプルをご覧ください。サーバーはWindowsで、内部・外部の文字エンコーディングはUTF-8です。UTF-8のファイル名を外部から受け取り、Windowsなのでファイル名をShift_JISに変換してファイルを読み込んでいます。basename関数を通すことにより、ディレクトリトラバーサル対策を施しています。 <?php header('Content-Type:text/plain; charset=UTF-8'); $file_utf8 = basename($_GET['file']); $file_sjis = mb_convert_encoding($file_utf8, 'cp932', 'UTF-8'); $path = './data/' . $file_sjis; var_dump($path); readfile($path); しかし、ディレクトリト

正月の書き初めとして、PHP 7 でコードを書いてみました。 年始から始まるプロジェクトでPHP 7 に取り組む予定なので、素振りも兼ねています。実際に書いて感じたことを挙げてみます。 書いたコード 今回書いたのは、Markdown からコードブロックを抜き出して、それぞれをファイルに出力するコードです。 https://github.com/shin1x1/MarkdownCodeExtractor 書いた動機は、Markdown の書籍原稿からコード部分を抜き出して、サンプルコードとして公開するためです。 原稿は最終的にはPDF になるので、そこでの修正は手で加える必要があるのですが、大まかにコードをファイルに落とすだけでもかなり楽なので、サクッと作りました。 「Laravel リファレンス 」の私の担当原稿からコードを抜き出したのですが、200 ものコードファイルを一気に生成でき

PHP コードスタイルのチェック、整形を行うサービスである Style CI を紹介します。 このエントリは、Laravelリファレンス Advent Calendar 2015 の22日目です。Laravel 公式が利用しているサービス Style CI は、Alt Three が運営しているGitHub にホストしているPHP コードのコードスタイルをチェックするサービスです。GitHub へコードを push すると、コードチェックが行われ、適合しないコードがあればエラーになります。メールによるエラー通知も飛んできます。 Style CI のサイトに行くと修正が必要が箇所のコードが提示されます。 shin1x1/phpkansai-20151216-demo - StyleCI チェックできるフォーマットは、インデントやブレース位置、文字エンコーディングなどの基本的なものから

2015/10/03 に開催されたPHPカンファレンス2015 にて、「いまどきのPHP開発現場 -2015年秋-」という発表を行ってきました。 このエントリでは、発表資料とセッションで取り上げたツールやサービスを利用する上で参考となる資料をご紹介します。 発表資料 いまどきのPHP開発現場 -2015年秋- from Masashi Shinbara 個々のツールやサービスは紹介するに留めて、それぞれの関係性や流れをまとめた内容にしました。時間があれば、PhpStormで書いたコードを git push して、CI が動いて、Heroku にデプロイといった一連の流れが見られるデモをしたかったのですが、それはまた機会があれば、ということで。 このセッションは、ラスマスさんの次のセッションだったのでした。満員のセッションの後、ガラガラになったらどうしよと思ってましたが、多くの方に参加頂け

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く