PHPカンファレンス2018登壇資料 フレームワークの使われていないピュアPHPサービスで、ドキュメントルート配下に全てのファイルが置かれていたサービスを安全にするために大規模な修正を行ったお話です
![ドキュメントルート配下に全てのPHPファイルが置かれていた環境をindex.phpだけにした話 / document root - Speaker Deck](https://cdn-ak-scissors.b.st-hatena.com/image/square/41cc857538e87c3a2d0b32b4f27221dd97b82349/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F9174bdb33a4d46979a4026f03ac59975%2Fslide_0.jpg%3F11441828)
バーチー / GMO PEPABO inc. 2017.10.08 / PHPカンファレンス2017 http://phpcon.php.gr.jp/2017/#home PHPを利用したウェブサイトの約66%(※1)は、セキュリティサポートの切れたPHP5.5以下のバージョンを利用しています。 アップグレードの必要性は理解していても、後方互換性のない変更点の修正が課題となり後回しにする現場も少なくないでしょう。 先日ホームページ作成サービス「グーペ」をPHP5.2から7.1へアップグレードし、そこから得られた知見をブログ(※2)にて公開しました。 本セッションではブログでお伝えきれなかった内容を加えて、安全かつ短期間でアップグレードする方法をご紹介します。 ※1 https://w3techs.com/technologies/details/pl-php/all/all ※2 http
こんにちは、グーペグループエンジニア @hypermkt と技術部インフラグループ・シニアエンジニア @hfm です。半年に及ぶグーペのPHPアップグレード作業が2017年5月中旬に全て完了し、PHPバージョンは5.2から7.1になりました。今回の記事ではアップグレードの過程と効果について、ご紹介させていただきます。 はじめに 8年目のホームページ作成サービス「グーペ」 なぜ8年目のタイミングでアップグレードをしたのか アップグレード基本方針 PHP5.2との後方互換性を維持する deprecatedの対応は優先度低め 事前準備 新旧両バージョンで継続的テスト より広範囲をカバーできるE2Eテストを重視 リアルタイムエラー検知 下位互換性のない変更点の修正 php7ccによる互換性の自動検知 MySQL関数の削除 preg_replaceへの置き換え PHP7.1用php.iniの作成 リ
新年明けましておめでとうございます。GMOメディアの流しエンジニア、山田コーダーです。さて、ようやく弊社でもPHP 5.3、5.4系のプロジェクトの5.6化が一段落してまいりました。 PHP 5.6のリリースが2014年ですので今更感がありますが、「レガシーなPHPプロジェクトのバージョンアップに困っている」「使いたいライブラリーが5.3に対応してないからバックポートした」などという悲痛な声を目にしたこともあり、これからPHPのバージョンアップをされる方たちへのささやかな参考資料になればと思い、書かせていただきました。 さて、まずは本題に入る前に結果からお見せしようと思います。以下はNew Relic(アプリケーションのパフォーマンス監視サービス)のレスポンスタイムのグラフです。なおこのプロジェクトでは、ブラウザー表示用HTMLを出力するサーバー(Web 約10台)と、スマートフォンアプリ
PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各
この記事は Pepabo Advent Calendar 2015 - Qiita の17日目の記事です。 PHPのキャッシュライブラリを使おうと思った時に、何がいいんだろう?と思っていくつか調べてみました。 ほんとは全部使って自分が書いたサンプルコードを載せたりしたかったけど、時間がかかるので、ざっと調べた内容とか使われ方とか、所感を書いて行こうと思います。 あと、このライブラリは何なのか?という説明が各ライブラリにあると思うんですがその辺を見比べてみると面白いなと思ったのでのせています。 この有名なライブラリがないぞ!などのご意見はあるかもしれませんが、その辺はご了承頂けるとありがたいです。 もっといっぱい調べようと思ったけど途中で挫折したのでそこまで多くは調べてません。。。 phpfastcache 概要 github.com www.phpfastcache.com the php
Welcome! I assume that you came to this website looking for information on how to implement Continuous Integration (CI) and Continuous Delivery (CD) pipelines for PHP projects with Jenkins. Back in 2010, I created an Open Source template for Jenkins jobs for PHP projects and this website used to be the home of that project. I have neither used Jenkins nor updated the aforementioned template in qui
人気のあるPHPフレームワークについて調べていたら下記の参考になる記事がありました。 2013年において注目すべき PHP フレームワークは Laravel PHPフレームワークのベンチマーク比較と2013年のトレンド 「Githubのスター数」と「Googleトレンド」という観点が面白かったので、2014年2月14日現在で調べ直してみました。 Githubのスター数 PHPのフレームワークを適当にピックアップし、GithubのStar順に並べて表にしました。 2013年4月21日時点では3,971だったLaravelのスター数が[*1]、2014年2月14日現在では8,319となり、第1位になったようです。 フレームワーク Star Watch Fork 最新リリース 備考 Laravel 8,319 1,115 2,728 v4.1.18 Symfony 7,820 750 2,930
Developing agile software applications seems like a cumbersome task if you are not using a particular framework for doing so. It is not clever to indulge in time consuming and complicated task of building software applications without using any framework. We all want to develop software applications using a framework that can make the development process much faster with the codes and modules and
ここ半年くらい、PHPのオレオレスタックを見直しています。 まあ、こういうのは本来日々見直していく物なんですけど、新年だし。 ちょっと前までは ・WAF:Limonade ・テンプレートエンジン:素PHP+Limonade+オレオレヘルパ ・DBまわり:PDO+オレオレORM ・テスト:Selenium(ウッ頭が… ・ライブラリ管理:秘伝のZIP、require_once地獄 という、お客さんの都合もあって「5.1.6でもうごくやで!」スタックだったのですが 最近は ・WAF:Slim ・テンプレートエンジン:Twig+オレオレヘルパ ・DBまわり:PDO+illuminate/Eloquent ・テスト:PHPUnit ・ライブラリ管理:Composer という感じで「5.3ってレガシ〜」スタックになりました。*1 あと、バリデータとか、スクレイパーとか、標準関数で秘伝のタレ関数を作るよ
TLで話題になっているCodeIQでの問題と解説はこちらです。 これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE 大変丁寧な解説、とても参考になりました。 ただ、参加されている方の採用したテスティングフレームワークにCodeceptionがない! 日本のPHP開発者にCodeceptionを流行らせたいワタクシとしては看過できない事態(=チャンス)です! ってことで、Codeceptionを使って書いてみました。 といいつつも、今回はCodeceptionがメインではなく、AspectMockがメイン。 AspectMockとは Codeceptionの開発者の@davertさんによる「ちょーすげー(not an ordinary)」PHP向
2013年も本当にあとわずかになりました。 本日は今年話題になったPHPについての記事を公式のリリースやはてなブックマークから抽出してきた内容を元に今年を振り返ってみましょう。PHPにとって今年はどのような一年だったのでしょうか。 参考: 2012年のPHP周辺の話題振り返り | Engine Yard Blog JP PHPのバージョン 2013年中にリリースされたPHPのバージョンは5.3、5.4、5.5の3系統で合計29のリリースが行われました。リリースサイクルはほぼ毎月という形でした。またPHPの公式サイトがレスポンシブ対応の新しいデザインに切り替わりました。詳細は下記の通りです。 Version 5.4.11 2013/1/17 Version 5.3.21 2013/1/17 Version 5.4.12 2013/2/21 Version 5.3.22 2013/2/21
※この記事はVOYAGE GROUP エンジニアブログ : Advent Calendar 2012の15日目の記事として書いてます。 3種の神器 PHPUnit, Stagehand_TestRunner, Phake 初めての方はじめまして。いつもの方こんにちは。 VOYAGE GROUP の adingo という会社で 広告配信に関わる Webアプリケーション開発エンジニアをしている @brtriver です。 今日は実際の現場でも使っているPHPの開発環境構築Tipsということで みんな大好き PHPUnit 、 自分は大好き Phake 、毎回テストを手動で実行するのが許されるのは小学生までだよねー Stagehand_TestRunner の 3つを3分でプロジェクトごとにインストールする方法を書いてみます。 何も考えず composer.jsonをコピペで用意 プロジェクトの
PHPカンファレンス2013でPHP開発環境をVagrantで作る発表を行ったのですが、具体的なVagrantfileが欲しいという声を頂いたので、GitHubに公開しました。 ご自身で構築するベースになれば良いと思うので、どう作れば良いの?と言う方は参考にしてみて下さい。 なお、このリポジトリの Vagrantfile は、開発PC内の VirtualBox 上で開発環境として動かすことを想定しています。セキュリティについては考慮されていないのでご注意下さい。 vagrant-lapp-sample https://github.com/shin1x1/vagrant-lapp-sample このリポジトリは、PHPアプリケーション(CakePHP)をイメージしています。構成は以下です。 CentOS 6.4 Apache 2.2 PHP 5.4 PostgreSQL 9.3 phpPg
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く